这是我的代码
String source_path = "/sdcard/varun/audio.mp3";mSoundPool = new SoundPool(10,AudioManager.STREAM_MUSIC,0);mSoundPool.setonLoadCompleteListener(new OnLoadCompleteListener() {public voID onLoadComplete(SoundPool soundPool,int sampleID,int status) { loaded = true; } }); sound1 = mSoundPool.load(source_path,1); hand1.postDelayed(new Runnable() { public voID run() { // Todo auto-generated method stub if (loaded) { mSoundPool.play(sound1,1,time - 1,1); System.out.println("playing=== a"); } } },21000);
在这里,我将值硬编码为21000,但我需要获取音频文件的持续时间,因为持续时间随每个文件而变化.我正在使用androID 2.2
如何实现这一点请帮忙?
解决方法 虽然看起来效率低下,但您可以使用所需的声音创建MediaPlayer,然后使用myMediaPlayer.getDuration()方法为剪辑提供毫秒数.然后,您可以调用myMediaPlayer.release()来消除任何不需要的内存占用.在做更多研究的同时,我发现我不是唯一得出这个结论的人.这个库:
Get Duration Of Sound
使用这种确切的方法来解决问题.我认为这是一种合法的方式,因为这个人看起来非常合法.
总结以上是内存溢出为你收集整理的android – 如何获取Soundpool的持续时间全部内容,希望文章能够帮你解决android – 如何获取Soundpool的持续时间所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)