Tag: android mediaplayer

只播放音频1,而不是2,3和4

var hello = intent.extras["i"] when(hello){ 1-> { mediaPlayer = MediaPlayer() var i = R.raw.ques1 mediaPlayer = MediaPlayer.create(this,i) mediaPlayer!!.start() if (mediaPlayer == null) { mediaPlayer!!.stop() mediaPlayer!!.release() MediaRecorderReady() } } 2-> { mediaPlayer = MediaPlayer() var i = R.raw.ques2 mediaPlayer ==MediaPlayer.create(this,i) mediaPlayer!!.start() } 3->{ mediaPlayer = MediaPlayer() var i = R.raw.ques3 mediaPlayer ==MediaPlayer.create(this,i) mediaPlayer!!.start() } 4->{ mediaPlayer […]

服务正在创建mediaplayer的新实例

我有一个服务问题。 在方法onCreate我创建媒体播放器。 当我在活动之间移动时,我能够顺利地访问服务,并保持相同的媒体播放器实例。 虽然,当我离开应用程序(音频从服务mediaplayer仍在播放),然后我回到应用程序 – 我得到新的MediaPlayer实例。 来自先前实例的音频流仍在播放。 我想访问相同的MediaPlayer实例,以便操纵播放歌曲(例如暂停)。 你知道可能是什么问题吗? class PlayerService : Service(), MediaPlayer.OnPreparedListener, PlayerServiceContract.ServiceContract { private val mBinder = PlayerBinder() private var mPlayer: MediaPlayer? = null private var mPresenter: PlayerServiceContract.Presenter? = null private var mRecording: Recording? = null override fun onCreate() { super.onCreate() mPlayer = MediaPlayer() mPlayer?.setWakeMode(applicationContext, PowerManager.PARTIAL_WAKE_LOCK) mPlayer?.setAudioStreamType(AudioManager.STREAM_MUSIC) mPlayer?.setOnPreparedListener(this)

MediaPlayer为getDuration()返回-1

我试图在我的应用程序中使用音频流功能来实现MediaPlayer (即,音频文件在服务器中)。 player = MediaPlayer(); player.setDataSource("http://wedevotional.com/a.mp3"); player.setOnBufferingUpdateListener(object : MediaPlayer.OnBufferingUpdateListener{ override fun onBufferingUpdate(p0: MediaPlayer?, p1: Int) { Log.d("Bufferring = ",p1.toString()) } }) player.setOnPreparedListener(object:MediaPlayer.OnPreparedListener{ override fun onPrepared(p0: MediaPlayer?) { Log.d("Duration = ",p0!!.duration.toString()) Log.d("Current Position = ",p0!!.currentPosition .toString()) } }) player.setOnErrorListener(object :MediaPlayer.OnErrorListener{ override fun onError(p0: MediaPlayer?, p1: Int, p2: Int): Boolean { Log.d("Error = ","Error") return true } […]