用SurfaceView播放视频时,遇到的出声音但前面会黑频一段时间,求解释。

weixin_38069603 2013-03-12 11:30:46
下面是主要的代码。点击开始会出声音 ,视频开始播放,但是黑频。待会儿(可能要几秒到几十秒不等)就会出画面。 但是我加入了Thread.sleep()之后就没这个问题了(当时以为这样可以让界面刷新,但是不确定),试求解释。 //初始化 mSurfaceHolder01 = mSurfaceView01.getHolder(); mSurfaceHolder01.addCallback(this); mSurfaceHolder01.setFixedSize(300, 200); //按播放开始播放 mPlay.setOnClickListener(new ImageButton.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (checkSDCard()) { playVideo(strVideoPath); } } }); //播放方法 private void playVideo(String strPath) { mMediaPlayer01 = new MediaPlayer(); mMediaPlayer01.setAudioStreamType(AudioManager.STREAM_MUSIC); mMediaPlayer01.setDisplay(mSurfaceHolder01); try { mMediaPlayer01.setDataSource(strPath); } catch (Exception e) { mTextView01.setText("setDataSource Exception:" + e.toString()); } try { mMediaPlayer01.prepare(); } catch (Exception e) { mTextView01.setText("prepare Exception:" + e.toString()); } mMediaPlayer01.start(); // try { // Thread.sleep(100); // } catch (InterruptedException e) { // TODO Auto-generated catch block // e.printStackTrace(); // } bIsReleased = false; mTextView01.setText("play in.."); mMediaPlayer01 .setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { // TODO Auto-generated method stub mTextView01.setText("play over..."); } });
...全文
69 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧