android – 如何获取Soundpool的持续时间

android – 如何获取Soundpool的持续时间,第1张

概述我正在使用soundpool播放音频文件,我的目标是播放音频文件,完成后播放另一个音频文件. 这是我的代码 String source_path = "/sdcard/varun/audio.mp3";mSoundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);mSoundPool.setOnLoadCompleteListe 我正在使用soundpool播放音频文件,我的目标是播放音频文件,完成后播放另一个音频文件.

这是我的代码

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的持续时间所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/web/1128975.html

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

发表评论

登录后才能评论

评论列表(0条)

保存