android– 使用AudioTrack从SD卡播放音频(mp3,ogg)

android– 使用AudioTrack从SD卡播放音频(mp3,ogg),第1张

概述我想用AudioTrack从SD卡播放音频文件.我试过这段代码:intminBufferSize=AudioTrack.getMinBufferSize(8000,AudioFormat.CHANNEL_CONFIGURATION_MONO,AudioFormat.ENCODING_PCM_16BIT);intbufferSize=512;AudioTracka

我想用AudioTrack从SD卡播放音频文件.我试过这段代码:

int minBufferSize = AudioTrack.getMinBufferSize(8000,                AudioFormat.CHANNEL_CONfigURATION_MONO,                AudioFormat.ENCoding_PCM_16BIT);        int bufferSize = 512;        AudioTrack at = new AudioTrack(AudioManager.STREAM_MUSIC, 8000,                AudioFormat.CHANNEL_CONfigURATION_MONO,                AudioFormat.ENCoding_PCM_16BIT, minBufferSize,                AudioTrack.MODE_STREAM);        int i = 0;        byte[] s = new byte[bufferSize];        fileinputStream fin = new fileinputStream(path);        DatainputStream dis = new DatainputStream(fin);        at.play();        while ((i = dis.read(s, 0, bufferSize)) > -1)        {            at.write(s, 0, i);        }        at.stop();        at.release();        dis.close();        fin.close();

但它不能正常播放音频文件.它不是原始音频,而是播放某种噪音.

解决方法:

从以下链接我发现AudioTrack只播放PCM音频,
http://developer.android.com/guide/topics/media/index.html

请看一下这段代码.
http://mindtherobot.com/blog/624/android-audio-play-an-mp3-file-on-an-audiotrack/
这提供了有关如何在AudioTrack上播放MP3文件的信息.

希望这有助于你.

总结

以上是内存溢出为你收集整理的android – 使用AudioTrack从SD卡播放音频(mp3,ogg)全部内容,希望文章能够帮你解决android – 使用AudioTrack从SD卡播放音频(mp3,ogg)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1113087.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存