zoukankan      html  css  js  c++  java
  • Atitit java播放mp3 目录 1.1. 不能直接支持mp3播放。。需要解码播放转化为pcm 1 1.2. 使用\javalayer类库播放 3 1.3. ,就是普通的java sound

    Atitit java播放mp3

     

     

    目录

    1.1. 不能直接支持mp3播放。。需要解码播放转化为pcm 1

    1.2. 使用\javalayer类库播放 3

    1.3. ,就是普通的java sound api,和原来播放wav, aiff, au, snd没什么两样。但是光这样是运行不起来的,需要一些额外的jar包来支持。   2. 一些jar包介绍  4

     

     

    默认智能播放wav模式。。

     

    播放mp3 提示

     

    Exception in thread "main" java.lang.IllegalArgumentException: No line matching interface SourceDataLine supporting format MPEG1L3 44100.0 Hz, unknown bits per sample, stereo, unknown frame size, 38.28125 frames/second,  is supported.

    at javax.sound.sampled.AudioSystem.getLine(AudioSystem.java:479)

    at apkg.soundPlay.playwav(soundPlay.java:50)

    at apkg.soundPlay.main(soundPlay.java:28)

     

      1. 不能直接支持mp3播放。。需要解码播放转化为pcm

     

    /bookmarksHtmlEverythingIndexPrj/src/apkg/ConvertMP32PCM.java

    import javazoom.spi.mpeg.sampled.file.MpegAudioFileReader;

     

     

     

     

    private static AudioInputStream getPcmAudioInputStream(String mp3filepath) throws Exception, IOException {

     

     

    AudioInputStream AudioInputStream1 = new MpegAudioFileReader().getAudioInputStream(new File(mp3filepath));

     

     

    AudioFormat sourceFormat = AudioInputStream1.getFormat();

    AudioFormat targetFormat = new AudioFormat(AudioFormat.Encoding.PCM_SIGNED, sourceFormat.getSampleRate(), 16,

    sourceFormat.getChannels(), sourceFormat.getChannels() * 2, sourceFormat.getSampleRate(), false);

    AudioInputStream audioInputStream_Pcm = AudioSystem.getAudioInputStream(targetFormat, AudioInputStream1);

     

    return audioInputStream_Pcm;

    }

     

      1. 使用\javalayer类库播放

     

    D:\0workspace\libs t55\libmusic\javalayer-1.0.1.jar

    import javazoom.jl.decoder.*;

    import javazoom.jl.player.*;

     

    public class MySound extends Thread {

     

     

     

     public static void main(String[] args) throws Exception {

    String musicName="C:\\Users\\Administrator\\Music\\冷漠 - 一路向北.mp3";

    InputStream resourceAsStream =new FileInputStream(new File(musicName));

    new Player(resourceAsStream).play();

    }

    Atitit java 音频播放类库jar列表

     

     

      1. ,就是普通的java sound api,和原来播放wav, aiff, au, snd没什么两样。但是光这样是运行不起来的,需要一些额外的jar包来支持。 

        2. 一些jar包介绍 

    id

    最新版本

    描述

    支持格式

    jorbis

    0.0.17

    Vorbis解码器

    ogg

    VorbisSPI

    1.0.3

    支持OGG Vorbis格式的SPI封装器

     

    JLayer

    1.0.1

    MP3解码器

    mp3

    MP3SPI

    1.9.5

    mp3的SPI

     

    jflac

    1.3

    flac解码器和SPI

    flac

    jspeex

    0.9.7

    speex解码器和SPI

    spx

    jmac

    1.7.4

    Monkey's Audio解码器和SPI

    ape,mac

    tritonus_share

    0.3.6

    tritonus底层库

     

    jtta

    1.0

    tta解码器和SPI

    tta

    libkj-java

     

    dsp,可用来绘制音乐播放时的频谱分析

     

    jaudiotagger

    2.2.2

    音乐标签读取库

     

    jlGui

    3.1

    音乐播放器

     

    yoyoplayer

    1.3

    音乐播放器

     

    musique

     

    音乐播放器

     



    其中,如果要支持mp3的话,需要javalayer,mp3spi,tritonus_share这3个jar包。 
    而ogg需要jorbis,vorbisspi,tritonus_share这3个jar包。 
    ape需要jmac这个jar包。 
    flac需要jflac这个jar包。 

     

     

    java播放mp3_ogg_ape_flac音乐 - - ITeye博客.html

     

  • 相关阅读:
    JDK、J2EE、J2SE、J2ME的区别
    消息队列
    Unity3D 导入aar注意事项
    汇编小结
    构造函数语意学--笔记
    androidStudio 改包名
    新手用车
    北京临牌办理与续办
    h5+
    apache.http.MalformedChunkCodingException: Chunked stream ended unexpectedly
  • 原文地址:https://www.cnblogs.com/attilax/p/15197260.html
Copyright © 2011-2022 走看看