草庐IT

mediaPlay

全部标签

android - 为什么 mediaPlayer 暂停时 mediaPlayer.seekTo(msec) 不更新 surfaceView?

我在我的Android应用程序中使用MediaPlayer来播放视频。当通过mediaPlayer.pause()方法暂停播放并调用mediaPlayer.seekTo(msec)时,我在其中显示视频的surfaceView不会更新。当我调用pause()方法时,它显示视频停止的帧。当我再次start()时,它才从我之前在seekTo()中指定的帧开始。当mediaPlayer暂停且不播放时,如何强制mediaPlayer更新surfaceView? 最佳答案 我在Gingerbread系列操作系统上遇到了同样的问题。我在搜索栏中使

Android MediaPlayer 流媒体错误 : 100: MEDIA_ERROR_SERVER_DIED

我开发了一个应用程序,它利用了nativeAndroid的MediaPlayer。我类使用媒体播放器的源代码如下。问题是只有在某些设备上播放几毫秒后(我只能听到声音,屏幕仍然是黑的)我不断收到error(100,0),根据documentation说publicstaticfinalintMEDIA_ERROR_SERVER_DIEDMediaserverdied.Inthiscase,theapplicationmustreleasetheMediaPlayerobjectandinstantiateanewone.在论坛上,我发现每次获得它时我都需要重置播放器...但是我在很短的时

Android MediaPlayer.getCurrentPosition 不更新

我遵循了IgorKhrupin关于使用MediaPlayer类在Android中流式传输mp3文件的教程:http://www.hrupin.com/2011/02/example-of-streaming-mp3-mediafile-with-android-mediaplayer-class除搜索栏的主要进度未正确更新外,一切正常。它刚开始就停止了。在调试时,我可以看到MediaPlayer.getCurrentPosition()方法总是返回261(毫秒),即使mp3歌曲播放正常。有没有人以前遇到过这个问题或对如何解决它有任何想法?非常感谢 最佳答案

Android MediaPlayer.getCurrentPosition() 返回不正确的值

我正在编写一个短音频持续时间(通常为1-5秒)的音频播放器,如下所示//startmediaplayermediaPlayer=newMediaPlayer();mediaPlayer.setDataSource(context,Uri.fromFile(audioCache));mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);mediaPlayer.setOnCompletionListener(newMediaPlayer.OnCompletionListener(){@OverridepublicvoidonCo

ANDROID_LOOP = true -- 如何避免 MediaPlayer 使用此元数据标签循环播放音频

我想用MediaPlayer播放设备铃声,但似乎当元数据标记ANDROID_LOOP=true已设置MediaPlayer正在忽略方法setLooping的调用mMediaPlayer.setLooping(false);并在任何情况下循环播放音频。也不会调用onCompletionListener方法。我注意到,无论是否启用循环,即使是像ESMediaPlayer这样的音频应用程序也会循环播放此标签设置为true的音频。所以我的问题是我是否可以让MediaPlayer忽略这个标签临时修改标签,使MediaPlayer不循环播放音频这个问题是围绕铃声产生的,但它当然不是特定于铃声的。有

android - 从 fragment 中的适配器调用更新搜索栏时,MediaPlayer 跳过音频

我有一个MediaPlayer,它包含在自定义ViewHolder中,由fragment运行的RecyclerViewAdapter创建。我正在尝试每秒更新搜索栏以显示MediaPlayer正在播放的音频的进度,使用thisquestion'sanswer:privateHandlermHandler=newHandler();//MakesureyouupdateSeekbaronUIthreadMainActivity.this.runOnUiThread(newRunnable(){@Overridepublicvoidrun(){if(mMediaPlayer!=null){i

Android - 我可以使用 MediaRecord/MediaPlayer 而不是 AudioRecord/Track 来执行此操作吗?

我目前使用AudioRecord从Android设备的麦克风录制音频,然后将其直接传输到AudioTrack,在Android设备的耳机中播放。我想知道我是否可以使用MediaPlayer和MediaRecorder类来做同样的事情,因为我需要使用媒体类而不是音频类可用的AMR-NB编码。我对MediaRecorder和MediaPlayer的问题是,我似乎必须先录制到一个文件,然后再播放该文件?这不是我想要做的,是否可以使用媒体类将音频声音从麦克风流式传输到耳机?我使用音频类的代码如下,是否可以对MediaPlayer和MediaRecorder执行相同的操作?publicclass

Android SDK MediaPlayer 没有正确寻找

我有一个mp3文件,我的应用程序必须查找该mp3文件的某个选定时间,然后从那里开始播放。我通过这种方法将我的字符串时间转换为int值privatestaticintconvert(Stringtime){intquoteInd=time.indexOf(":");intpointInd=time.indexOf(".");intmin=Integer.valueOf(time.substring(0,quoteInd));intsec=Integer.valueOf(time.substring(++quoteInd,pointInd));intmil=Integer.valueOf(

java - mediaplayer.isPlaying 始终为 false

我目前正在开发聊天应用程序。在此具有发送语音注释的功能。语音笔记的发送和播放工作正常。但问题是,当我播放语音笔记时,之前播放的语音笔记不会停止..两者一起播放。这是我播放语音笔记的代码,publicstaticclassMessageViewHolderextendsRecyclerView.ViewHolder{privateTextViewmessageTextView;privateImageViewmessageImageView;privateTextViewtimeTextView;privateLinearLayouttextMessageLayout;privateTe

Android MediaPlayer 准备时间过长

嘿,我正在使用MediaPlayer播放常规的ShoutCast流。代码使用prepareAsync()和启动播放的处理程序非常简单。虽然它可以与DI.FM或ETN.FM(http://u10.di.fm:80/di_progressive)等某些流完美配合,但与其他流(http://mp3.wpsu.org:8000/)配合使用时它不会不要越过准备状态。也没有其他监听器被调用。//UristreamUri=Uri.parse("http://u10.di.fm:80/di_progressive");/*works*/UristreamUri=Uri.parse("http://mp