Android SoundPool只能从Raw或资产文件夹播放音频/视频,而不能从SDcard播放?

问题描述:

您好所有我的应用程序的一个需要发挥使用的Soundpool声音......但它有方法类似Android SoundPool只能从Raw或资产文件夹播放音频/视频,而不能从SDcard播放?

我需要改变存储在SD卡

sndPool.play(sound_id, leftVolume, rightVolume, 1, 0, rate); 

路径播放MP3的速度

我们无法给出sdcard文件的路径?

我已阅读,有喜欢

sndpool.load(字符串路径)

方法,但这种方法不支持率参数

我需要改变的速度正在播放mp3

如何实现此目的?

+1

使用setRate(id,rate)方法 – pskink 2014-09-22 12:52:27

+0

我应该通过什么id?该文件是从SD卡加载? – Android 2014-09-22 13:01:54

+0

id是streamID – pskink 2014-09-22 13:04:42

我们不能给出sdcard文件的路径吗?

不是通过特定的便利方法。请注意,you do not have access to an "sdcard", in general, on Android 4.4+。当你说你正在使用“sdcard”时,或许你的意思是external storage

我需要改变播放mp3的速度如何实现这个?

拨打setRate(),据推测。虽然JavaDocs使其看起来像第一个参数需要为play()返回的int,但它也应该适用于由load()返回的int

+0

你能描述一下吗? ? – Android 2014-09-22 12:54:49

+0

@Pragna:'setRate()'是一种方法。在'SoundPool'实例上调用它。作为第一个参数传入来自'load()'的返回值。作为第二个参数传入您的费率。 – CommonsWare 2014-09-22 13:35:30