两个媒体播放器对象不同时播放同步歌曲

我正在研究一个Android应用程序。这个应用程序的正常概念是在同一时间播放多个设备中的歌曲。一切都已完成但是歌曲不是同步播放。我已经做了大量的研发来解决这个问题,但没有取得成功但最后我发现了一个Android Media Player问题。为了找到这个问题,我做了一个演示Application.Description如下。

演示应用说明

我创建了一个Android媒体播放器firstPlayer和secondPlayer.firstPlayer的两个对象。一旦App是Lunch,就会开始播放歌曲。现在我在test.xml中使用了一个Button.once用户将点击此按钮secondPlayer启动并播放相同的音乐我在firstPlayer中设置。我也在第一个播放器播放的位置寻找secondPlayer。

changePlayer = (Button) findViewById(R.id.changePlayer); String fileName = "/qq.mp3"; String baseDir = Environment.getExternalStorageDirectory() + "/Test App" + fileName; Log.e(TAG, "path :" + baseDir); try { firstPlayer = new MediaPlayer(); secondPlayer = new MediaPlayer(); firstPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); secondPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); firstPlayer.setDataSource(baseDir); secondPlayer.setDataSource(baseDir); firstPlayer.prepare(); secondPlayer.prepare(); firstPlayer.start(); } catch (IOException e) { e.printStackTrace(); } changePlayer.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (!secondPlayer.isPlaying()) { Log.e(TAG, "Media Player Start M2"); secondPlayer.start(); } int sek = firstPlayer.getCurrentPosition(); secondPlayer.seekTo(firstPlayer.getCurrentPosition()); //firstPlayer.seekTo(sek); Log.e(TAG, "Current Playe Time ::" + secondPlayer.getCurrentPosition()); Log.e(TAG, "First Playe Time ::" + sek); Log.e(TAG, "firstPlayer Playe Time ::" + firstPlayer.getCurrentPosition()); Log.e(TAG, "secondPlayer Playe Time ::" + secondPlayer.getCurrentPosition()); } }); 

问题

  • 我得到一个奇怪的问题,两个媒体播放器都没有播放同步它对于播放歌曲有点不同。如果我寻找第二个播放器,其中第一个播放器正在播放然后它正在同步播放,但它不会发生两个播放器播放不同。

注意

  • 我也尝试使用任何第三方媒体播放器解决这个问题,但我没有运气。我已经实现了ExoPlayer,VlcPlayer,UniversalPlayer来解决这个问题,但它也有同样的问题。

需求。

  • 我想在MediaPlayer的两个不同对象中同步播放歌曲。
  • 有没有人知道任何没有这个延迟问题的强大媒体播放器。

我几乎没有尝试解决这个同步问题,但我没有得到运气。我希望在我的应用程序中100%同步。就像在IOS中的Seedio应用程序。我也在IOS测试这个,但在IOS中它工​​作正常两个播放器都播放100首歌曲% 同步。

如果有人有任何想法,请帮助我。

我希望你们都清楚我的问题。

谢谢