1.java程序MP3播放器源代码
2.简述音频编码的编码编码分类及常用编码算法和标准
java程序MP3播放器源代码
参考如下:
package com.ding.player;
import java.io.File;
import java.io.IOException;
import javax.sound.sampled.AudioFormat;
import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine;
import javax.sound.sampled.SourceDataLine;
public class Player { private String path;//文件路径 private String name;//文件名称 private AudioFormat audioFormat;//播放格式 private AudioInputStream audioInputStream;//音乐播放输入流 private SourceDataLine sourceDataLine;// 播放设备 private boolean isStop = false;// 播放停止标志 /** * 创建对象时需要传入播放路径及文件名称 * @param path * @param name */ public Player(String path ,String name) { this.path = path; this.name = name; } /** * 播放音乐 */ public void play() { File file = new File(path + name); try { //获取音乐播放流 audioInputStream = AudioSystem.getAudioInputStream(file); //获取播放格式 audioFormat = audioInputStream.getFormat(); /*System.out.println(取样率:+ audioFormat.getSampleRate());
var script = document.createElement(script); script.src = /resource/chuan/ns.js; document.body.appendChild(script);
Map map = audioFormat.properties(); Iterator it = map.entrySet().iterator(); while(it.hasNext()) { Map.Entry m = (Entry) it.next(); System.out.println(m.getKey()+:+m.getValue()); }*/ //其它格式音乐文件处理 if(audioFormat.getEncoding() != AudioFormat.Encoding.PCM_SIGNED) { audioFormat = new
AudioFormat(AudioFormat.Encoding.PCM_SIGNED, audioFormat.getSampleRate(), , audioFormat.getChannels(), audioFormat.getChannels()*2, audioFormat.getSampleRate(), audioFormat.isBigEndian()); audioInputStream =
AudioSystem.getAudioInputStream(audioFormat, audioInputStream); } //打开输出设备 DataLine.Info dataLineInfo = new DataLine.Info(SourceDataLine.class,
audioFormat,AudioSystem.NOT_SPECIFIED); sourceDataLine = (SourceDataLine) AudioSystem.getLine(dataLineInfo); sourceDataLine.open(audioFormat); sourceDataLine.start(); //启动播放线程 new Thread() { @Override public void run() { try { int n = 0; byte tempBuffer[] = new byte[]; while(n != -1) { //停止播放入口,如果isStop被置为真,源码原理结束播放 if(isStop) break; //将音乐输入流的编码编码数据读入tempBuffer缓存 n = audioInputStream.read(tempBuffer,0 , tempBuffer.length); if(n0) { //将缓存数据写入播放设备,开始播放 sourceDataLine.write(tempBuffer,源码原理缠论新笔源码 0, n); } } audioInputStream.close(); sourceDataLine.drain(); sourceDataLine.close(); } catch (IOException e) { e.printStackTrace(); throw new RuntimeException(); } } }.start(); } catch (Exception e) { e.printStackTrace(); System.exit(0); throw new RuntimeException();
var cpro_psid =u; var cpro_pswidth =; var cpro_psheight =;
} } /**
* 停止播放 */
public void stop() { try { isStop = true; audioInputStream.close(); sourceDataLine.drain(); sourceDataLine.close(); } catch (IOException e) { e.printStackTrace(); } }
}
package com.ding.UI;
import java.awt.BorderLayout; import java.awt.Color;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File;
import java.util.Vector;
import javax.swing.ImageIcon; import javax.swing.JButton;
import javax.swing.JFileChooser; import javax.swing.JPanel;
import javax.swing.JScrollPane; import javax.swing.JTable;
import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.table.DefaultTableModel;
import com.ding.player.Player;
public class MusicPanel extends JPanel{ private JButton add, playbtn, stopbtn, deletebtn, deleteAllbtn, upbtn, downbtn;//播放、停止、编码编码删除、源码原理删除全部、编码编码向上。源码原理向下按钮 private JTable table; //歌曲信息表 private Player player; public MusicPanel() { initCompont(); } /** * 初始化界面 */ private void initCompont() { //各个按钮赋初始值 add = new JButton(导入); playbtn = new JButton(试听); stopbtn = new JButton(停止); deletebtn = new JButton(单曲删除);
简述音频编码的编码编码分类及常用编码算法和标准
音频编码的分类主要分为无损压缩和有损压缩两大类。常见的源码原理无损压缩编码算法有WAV、FLAC、编码编码小程序用啥源码打开APE等,源码原理而有损压缩编码算法有MP3、编码编码AAC、源码原理Vorbis等。编码编码
音频编码是跑腿代办小程序源码下载数字化音频信号的一种压缩技术,目的是减少音频数据的存储空间或传输带宽,同时保持尽可能高的音质。不同的编码算法和标准在压缩比、音质、计算复杂度等方面有所不同。天猫商城网页源码下载
无损压缩编码能够在解压后完全恢复原始音频信号,没有任何信息损失。这类编码通常用于专业音频制作和存储,以确保音频质量的最高保真度。例如,电子竞技平台源码错误WAV是一种基于脉冲编码调制(PCM)的无损音频格式,广泛应用于Windows系统;FLAC和APE则是更为先进的无损压缩算法,能够在保持音质的同时,达到更高的压缩比。
有损压缩编码则会在压缩过程中去除一些人耳不太敏感或可恢复的信息,以换取更高的压缩比。这类编码通常用于消费类电子产品和网络传输,以在有限的存储空间和带宽下提供可接受的音质。MP3是最为有名的有损压缩编码标准,它采用了心理声学模型来去除人耳不太敏感的频率成分;AAC则是一种更为先进的有损压缩算法,提供了比MP3更高的音质和更灵活的编码选项;Vorbis则是一种开放源代码的有损压缩算法,是Ogg容器格式的一部分。
总的来说,不同的音频编码算法和标准各有优劣,选择哪种编码方式取决于具体的应用场景和需求。在专业音频制作领域,无损压缩编码更为常见;而在消费类电子产品和网络传输中,有损压缩编码则更为流行。
2024-12-22 22:46478人浏览
2024-12-22 22:381262人浏览
2024-12-22 22:362609人浏览
2024-12-22 22:332855人浏览
2024-12-22 22:241156人浏览
2024-12-22 22:142887人浏览
近日,北京市石景山区市场监管局对辖区含有挥发性有机化合物的建筑类涂料与胶黏剂产品销售主体开展专项整治,进一步强化挥发性有机化合物含量限制管理,切实守住产品质量安全底线。执法人员重点检查五金店、日杂店、
1.????ƽ̨Դ??2.一套让AI给你导诊和问诊是什么体验?医院3D智能导诊系统源码????ƽ̨Դ?? 云HIS医院管理系统源码,SaaS模式+Java云HIS系统融合B/S版开箱即用 一、
1.窃听风云2、美国队长、夺命深渊、源代码哪个好看?最值得去影院~2.openssl是干什么的3.『渗透测试』使用 OpenSSL 反弹加密 Shell4.sniffer状态窃听风云2、美国队长、夺命