1.java程序MP3播放器源代码
2..wva是单曲什么格式
3.如何下载Spotify上的音乐——SpotDL
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;//播放、停止、单曲删除、源码音乐源码acfly源码删除全部、单曲向上。源码音乐源码向下按钮 private JTable table; //歌曲信息表 private Player player; public MusicPanel() { initCompont(); } /** * 初始化界面 */ private void initCompont() { //各个按钮赋初始值 add = new JButton(导入); playbtn = new JButton(试听); stopbtn = new JButton(停止); deletebtn = new JButton(单曲删除);
.wva是单曲什么格式
.wva实际是.wav或.wma的打字手误
下面就来介绍一些常见的音频格式吧...
PCM编码
PCM脉冲编码调制是Pulse Code Modulation的缩写。PCM编码的源码音乐源码最大的优点就是音质好,最大的单曲缺点就是体积大。我们常见的源码音乐源码Audio CD就采用了PCM编码,一张光盘的单曲容量只能容纳分钟的音乐信息。
WAV ———— 音频原始素材保存
WAV是源码音乐源码由微软开发的最经典的Windows多媒体音频文件格式,使用采样位数、单曲采样频率和声道数三个参数来表示声音,采样频率一般有Hz、Hz和Hz三种,现在我们常听的就素Hz采样率的音乐文件。在Windows平台下,PCM编码的WAV是被支持得最好的音频格式,所有音频软件都能完美支持,由于本身可以达到较高的顺德到韶关源码音质要求,因此是音乐编辑创作的首选格式,适合保存音乐素材。
一张专集的WVA大约M——M左右,所以啊,WAV素用来保存的,不要BT到拿来听哦,哈哈~~~~
Monkey's audio ———— 也就素我们说的APE,现在比较流行的无损压缩
Monkey's Audio是一种无损压缩技术,他并不是由什么大公司发明的,完全是一个个人业余兴趣作品。所谓无损压缩啊,就素在不牺牲任何音频信号的前提下,缩小WAV文件体积的格式,对压缩的数据进行还原之后,得到的数据和原来的数据是完全相同的哦!!Monkey's Audio的压缩比大约在2:1左右,远低于其他格式,但能够做到真正的无损,素追求高音质朋友的必收之物,APE的出现为我们节省了许多的硬盘空间,所以深得音乐发烧友的腾冲机场源码青睐!!一张专集的APE大约是M——M左右,单曲是M——M左右,而对音质要求不是太高的人通常都会选择VBR方式的mp3
在这里要补充说明一下CUE文件,通常网络上下载到的WAV和APE等无损压缩文件都素整张专集的单个音频镜像和一个CUE文件,另外还会有一些LOG和TXT信息文件在里面,刚开始接触APE的朋友大部分都不知道CUE文件是用来干什么的... 其实有了CUE文件就可以实现选曲播放了,首先要把同一张专集的APE和CUE文件放在同一个文件夹里面,播放文件的时候不要把APE添加到FOOBAR里,而是直接添加那个CUE文件,这样就好比把CD放进CD-ROM里一样,在FOOBAR上就会显示出专集的所有曲目,然后就可以点击播放了,活活~~~
另外要注意的是CUE里面的FILE信息要与相应的APE取同一个名字,CUE文件采用记事本方式打开,下面举个例子:
假如专集的文件名素CDImage.ape
CATALOG
PERFORMER "NARUTO"
TITLE "NARUTO Best Hit Collection"
FILE "CDImage.ape" WAVE
TRACK AUDIO
TITLE "Track 1"
PERFORMER "NARUTO"
ISRC JPMR
INDEX ::
TRACK AUDIO
TITLE "Track 2"
PERFORMER "NARUTO"
ISRC JPMR
INDEX ::
INDEX ::
那么FILE "CDImage.ape" WAVE的引号里就必须是CDImage.ape,假如素下载的原文件是WAV文件CDImage.wav,那么FILE "CDImage.ape" WAVE的引号里就必须是CDImage.wav,也就是文件名和后缀都必须完全一样,不然CUE无法找到文件,也就无法播放,而PERFORMER的网络培训app 源码引号里就是填写歌手、音乐人的名字,TITLE里就填专集名,PERFORMER、TITLE这两项可任意填写,不影响播放
FLAC ———— 国外已经替代APE的优秀格式
FLAC(Free Lossless Audio Codec),世界上第一个完全开放和免费的无损音频压缩格式。该格式的源码完全开放,而且兼容几乎所有的操作系统平台。它的编码算法相当成熟,已经通过了严格的测试,由于FLAC提供了免费的解码范例,而且解码的复杂程度低,所以FLAC是目前唯一获得硬件支持的无损压缩编码。FLAC是专门针对音频的特点设计的压缩方式,但压缩出来的文件比APE要大...
TTA ———— 最新的无损压缩格式
TTA是一种基于自适应预测过滤的无损音频压缩,与目前主要的其他各式相比,能有相同或更好的压缩效果。TTA是用于对多声道8、、比特整型和比特IEEE浮点型的音频WAV格式的无损压缩,压缩的大小范围是原文件大小的%—%。TTA格式主要目标不是源码阅读基础2019追求最大的压缩率,而是对于硬件执行的编码算法最优化,同时支持ID3v1和ID3v2两种标签信息。
WINNY上暂时看到的唯一一张TTA压缩格式的专集,就是米仓千寻的『BEST OF CHIHIROX』~~~
无损压缩暂时就介绍这么多,接下来要介绍我们的王道——MP3了,活活!!
MP3 ———— 目前最为普及的有损压缩音频格式
MP3格式,MPEG(MPEG:Moving Picture Experts Group)Audio Layer-3的简称,是MPEG1的衍生编码方案,年由德国Fraunhofer IIS研究院和汤姆生公司合作发展成功。MP3可以做到:1的惊人压缩比并保持基本可听的音质,是第一个实用的有损音频压缩编码。MP3之所以能够达到如此高的压缩比例,又能保持相当不错的音质是因为利用了知觉音频编码技术,也就是利用了人耳的特性,削减音乐中人耳听不到的成分,同时尝试尽可能地维持原来的声音质量。
衡量MP3文件的压缩比例通常使用比特率bps(bit per second)来表示,表示每1秒钟的音频可以用多少个二进制比特表示。通常比特率越高,压缩文件就越大,但音乐中获得保留的成分就越多,音质就越好。MP3的编码率最高可以达到Kbps,最低是Kbps。目前,LAME编码器是公认压缩音质最好的MP3压缩工具。
由于文件的大小、音质和比特率密切相关,所以相对于原来固定的CBR编码方式,后来又出现了VBR(Variant Bitrate 可变比特率)编码方式,这种编码方式的特点是可以根据编码的内容动态地选择合适的比特率,原理就是将一首歌的复杂部分用高 bitrate 编码,简单部分用低 bitrate 编码,通过这种方式取得质量和体积的统一,因此编码的结果在保证了音质的同时又照顾了文件的大小。
另外,LAME针对CBR不佳的文件体积比和VBR生成文件大小不定的特点,独创了ABR这种编码模式。在指定的文件大小内,以每帧(帧约1秒)为一段,低频和不敏感频率使用相对低的流量,高频和大动态表现时使用高流量,可以做为VBR和CBR的一种折衷选择。
WMA ———— Kbps的编码率可以达到接近CD的音质?!
WMA就是Windows Media Audio编码后的文件格式,由微软开发,WMA针对的不是单机市场,而是网络。竞争对手就是网络媒体市场中著名的Real Networks。微软声称,在只有kbps的码率情况下,WMA可以达到接近CD的音质。(汗死~~~ BT啊,他所指的接近程度是...) WMA支持流技术,即一边读一边播放,因此WMA可以很轻松的实现在线广播。
Real Media ———— 网络流媒体的代名词
RA、RMA这两个文件类型就是Real Media里面向音频方面的。RM这种文件格式几乎成了网络流媒体的代名词,它是由Real Networks公司发明的,特点是可以在非常低的带宽下提供足够好的音质让用户能在线聆听。由于Real Media的用途是在线聆听,并不适于编辑,所以相应的处理软件并不多。(连FOOBAR也不可以播放它,倒啊...)一些主流软件可以支持Real Media的读、写,可以实现直接剪辑的软件是Real Networks自己提供的捆绑在Real Media Encoder编码器中的Real Media Editor,但功能非常有限,这一点与现在的Windows Media相比是两个世界。
MPC ———— 崭露头角的新有损压缩格式
MPC是另一个最近比较常用的有损压缩格式,它的普及过程非常低调,她的出现目的就只有一个,更小的体积更好的音质,和MP3类似...
Ogg Vorbis ———— 高质量的音频编码方案
Ogg Vorbis在年7月推出了1.0版本。和MP3一样,Ogg Vorbis是一种灵活开放的音频编码,能够在编码方案已经固定下来后还能对音质进行明显的调节和新算法的改良。OGG是一个庞大的多媒体开发计划的项目名称,涉及视频音频等方面的编码开发。整个OGG项目计划的目的就是向任何人提供完全免费多媒体编码方案!
Ogg Vorbis是高质量的音频编码方案,官方数据显示:Ogg Vorbis可以在相对较低的数据速率下实现比MP3更好的音质!Ogg Vorbis这种编码也远比年代开发成功的MP3先进,它可以支持多声道,这意味着Ogg Vorbis在SACD、DTSCD等抓轨软件的支持下,可以对所有的声道进行编码,而不像MP3只能编码2个声道。
Ogg Vorbis可以在低至kbps的比特率下提供接近CD音质的音频质量,在压缩技术上,Ogg Vorbis与MP3一样,使用了VBR和ABR方式进行编码。
如何下载Spotify上的音乐——SpotDL
下载Spotify音乐的方法有很多,但并非所有都是合法和高效的。在众多下载器中,付费下载器的效率低且价格不菲,而SpotDL则是一款免费且速度快的下载工具。SpotDL支持下载Spotify的单曲、专辑和歌单,无需担心DRM加密问题。
SpotDL的安装分为多个步骤。对于Windows和Linux用户,可直接访问其官网获取安装指南。而对于macOS用户,首先需要安装FFmpeg依赖项。如果已经安装了homebrew,可通过终端执行特定命令进行安装。若未安装homebrew,需先通过另一条命令完成安装,然后执行FFmpeg安装命令。若在安装过程中遇到问题,可参考知乎文章寻求解决方案。
安装Python环境是安装SpotDL前的必要准备。在完成Python环境安装后,使用特定命令即可在当前目录下载所需音乐。若在使用过程中遇到错误,建议检查网络环境,确保已进行科学上网配置。
SpotDL的功能远不止下载音乐。用户可以自定义音乐格式、生成M3U播放列表、下载字幕,甚至通过添加参数调整下载速度。此软件的灵活性和高效性使其成为Spotify音乐下载的理想选择。
作为一款开源软件,SpotDL的源代码可供开发者自由使用和扩展。对于更多功能和使用说明,请访问其官方网站了解详情:github.com/spotDL/spoti...