Tag: android mediaplayer

什么在TtsService可以解释缺乏onUtteranceCompleted()playEarcon()?

前段时间,我发现playEarcon() 永远不会产生 onUtteranceCompleted() 。 当时我只是解释说“当话语被合成时调用”的文档,因为onUtteranceCompleted()不适用于earcons,因为earcon实际上不是TTS合成的结果。 但再次看Android的源代码,我根本无法find一个解释,certificate我的解释。 关于我的testing夹具的一些事实: onUtteranceCompleted()总是到达earcon之前的话语ID。 这个话语是一种普通的TTS话语,而不是一个耳塞。 之后的耳朵确实发挥出来(即完全按照预期)。 onUtteranceCompleted()对于这个earcon 永远不会出现。 这是非常一致和可重复的行为。 深入研究TtsService源代码,似乎只有两种方法可能影响onUtteranceCompleted()的到来(或不存在onUtteranceCompleted() : TtsService.processSpeechQueue() TtsService.onCompletion() 如果你检查这个代码,你会发现第三个候选人TtsService.getSoundResource()被排除了(因为我的earcon缺lessonUtteranceComplete),因为上面的事实#2:earcon总是玩,因此getSoundResource()不可能返回null。 使用相同的逻辑,也可以排除第一候选者TtsService.processSpeechQueue() ,对于同样的事实#2:earcon始终播放,因此总是执行以下2个关键语句: 1108 mPlayer.setOnCompletionListener(this); … 1111 mPlayer.start(); 所以,我们只剩下第二个候选人, TtsService.onCompletion() ,作为一个playEarcon() 永远不会产生 onUtteranceCompleted()的可能解释: public void onCompletion(MediaPlayer arg0) { // mCurrentSpeechItem may become null if it is stopped at the same // time it completes. SpeechItem currentSpeechItemCopy = mCurrentSpeechItem; […]

强制Android使用RTSP / AVP / TCP交错

我在Galaxy S3上使用Android 4.1.2。 目前android mediaplayer总是尝试使用RTSP UDP(RTP / AVP / UDP)方法连接到RTSP服务器。 如果Android MediaPlayer没有收到其UDP端口上的数据,那么尝试RTSP TCP交错(RTP / AVP / TCP)。 这很好,但延迟了10秒左右。 我想避免这个延迟,并强制Android MediaPlayer始终使用RTSP TCP交错(RTP / AVP / TCP)的所有或特定的URL。 我尝试了在这里给出build议,发送461或400错误响应代码给SETUP请求。 但似乎mediaplayer不关心响应,并发送两个轨道的SETUP命令,然后挂起连接。 我该如何解决这个问题?

MediaPlayer:应该有字幕控制器已经设置:KitKat

我有一个奇怪的问题,我的audio文件有时播放,有时不播放。 问题是,当它决定不玩的时候,DDMS给了我一个: E/MediaPlayer﹕ Should have subtitle controller already set 因为这是一对一的音乐不玩,我已经确定,这可能是问题… 如果音乐没有播放,我就按下音量button,开始播放。 如果我等待大约30秒的不玩,它会重新开始(不循环)。 这里发生了什么? 我正在使用KitKat player = new MediaPlayer(); AssetFileDescriptor afd = null; try { afd = getAssets().openFd("Theme.mp3"); } catch (IOException e) { e.printStackTrace(); } try { player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength()); } catch (IOException e) { e.printStackTrace(); } try { player.prepare(); } catch (IOException e) { e.printStackTrace(); […]

Mediaplayer错误(-19,0)重复播放后

我有一个游戏,当一个级别完成时,一个声音播放。 一切工作正常开始,但重复一个级别10或20次后,logcat突然报告:“MediaPlayer错误(-19,0)”和/或“MediaPlayer开始在状态0调用”,并不再发出声音。 我原来是用mp3格式的所有声音,但是在读完ogg后可能会更加可靠,我把它们全部转换成了ogg,但是错误也是一样的。 任何想法如何解决这个问题?

媒体播放器循环:Android

我有3秒的MP3文件。 我想继续播放该MP3文件,用户仍然点击暂停button。 是否有任何方法循环单个文件,并再次播放,直到用户暂停它。

在button上单击android播放声音

点击时如何获得button以播放原始声音? 我刚刚创build了一个id为button1的button,但是无论写什么代码,都是错误的。 import android.media.MediaPlayer; public class BasicScreenActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_basic_screen); } Button one = (Button)this.findViewById(R.id.button1); MediaPlayer = mp; mp = MediaPlayer.create(this, R.raw.soho); zero.setOnCliclListener(new View.OnClickListener() ) @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.basic_screen, […]

Android中的MediaPlayer和VideoView有什么不同?

我想知道在stream媒体video方面他们是否有区别。 我知道VideoView可以用于stream媒体和什么是Mediaplayer的? 据我所知, MediaPlayer可以做VideoView同样的事情吗? 任何人都可以给我答案? 如果我想通过使用RTSP将Androidvideo从服务器stream式传输到Android,我应该从哪一个开始? VideoView或MediaPlayer ? 任何build议?

应该有字幕控制器已经设置Mediaplayer错误Android

每当我播放一个媒体,它在DDMS中显示一个警告Should have subtitle controller already set 我的代码: private void start() { mediaPlayer.start(); mediaPlayer.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mp.stop(); mp.release(); } }); } DDMS日志 应该有字幕控制器已经设置 信息/警告(2,0) 当我在Google上search时,甚至没有涉及到它的单一主题。 我怎样才能摆脱或禁用这个?

Android:如何将解码器集成到多媒体框架

最近我已经成功地将video解码器移植到android。 还将输出转储到surfaceview并使用本地API检查输出。 接下来的任务是实现播放,暂停,stream媒体等,即媒体播放器的其他function。 这样做将是一个返工,因为所有这些function已经在android多媒体框架中定义。 我听说我们可以将我们的解码器作为一个插件,并将其整合到Android的多媒体框架中。 虽然我GOOGLE了同样的,我几乎找不到任何有关信息。 所以我恳请任何读者为上述问题build议一些相关链接或解决办法。 在此先感谢,等待您的答复。

Android – button点击播放声音 – 空指针exception

我正在试图播放一个声音文件的一个button。 声音只有1秒。 它发挥了前几次我点击button,但一段时间后,它给了一个NullPointerException 。 代码如下: button[i].setOnClickListener(new OnClickListener() { public void onClick(View view) { mp = MediaPlayer.create(Test.this, R.raw.mysound); mp.start(); } }); 这里是例外: 07-29 23:07:27.690: ERROR/AndroidRuntime(10542): Uncaught handler: thread main exiting due to uncaught exception 07-29 23:07:27.710: ERROR/AndroidRuntime(10542): java.lang.NullPointerException 07-29 23:07:27.710: ERROR/AndroidRuntime(10542): at com.example.mypackage.Test$3.onClick(Test.java:270)