【发布时间】:2017-07-01 06:52:26
【问题描述】:
我希望有人可以帮助我理解我在 Mediaplayer 类中看到的问题。
我正在创建一个需要同时播放两个音乐文件的音乐应用。在一个用例场景中,我希望能够播放 MP3 曲目,然后启动另一个 MP3 以在第一个的顶部以不同的音量开始播放。
我发现 Android 媒体播放器类提供了此功能,并创建了一个测试应用程序来执行此操作,只需创建两个媒体播放器实例。
例如...
MediaPlayer mMediaPlayer1,mMediaPlayer2;
mMediaPlayer1 = new MediaPlayer();
mMediaPlayer2= new MediaPlayer();
我遇到的问题是,在模拟器中它运行良好,并且在大多数设备上我尝试它运行良好,但在一些测试设备上,当我尝试启动第二个媒体播放器/轨道时,我得到奇怪的结果。
发生的情况是,第二个或第一个音轨的音量突然减小到零。我可以看到媒体播放器仍在“播放”,因为我设置了几个进度条来跟踪其进度,但您什么也听不到。
我在 OnePlus One 和 OnePlus X 手机上都看到了这一点。在我的华硕平板电脑和 Smasung A3 手机上,它运行良好。它也与操作系统版本无关,因为我在 4.4.2、5、6 和 7 上尝试过,结果好坏参半。它肯定似乎与硬件有关。
我也看到了描述这个问题的相关帖子,但到目前为止还没有一个关于导致它的答案的帖子。
谁能解释这一点或阐明这个问题?即使只是为了了解我所做的事情的局限性?
仅供参考 - 我确实看过 Soundpool,但无法使用它,因为我使用的剪辑大于 1Mb。
提前谢谢...
【问题讨论】:
标签: java android android-mediaplayer