Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android MediaPlayer视频未显示_Android - Fatal编程技术网

Android MediaPlayer视频未显示

Android MediaPlayer视频未显示,android,Android,我在应用程序上播放视频时遇到了一个大问题。 我有这个游戏,想在某处播放一些视频,但在最好的情况下,我可以听到声音,但看不到视频 这是持卡人 public void surfaceCreated(SurfaceHolder holder) { level.playerholder = holder; gameLoopThread.setRunning(true); renderLoopThread.setRunning(true);

我在应用程序上播放视频时遇到了一个大问题。 我有这个游戏,想在某处播放一些视频,但在最好的情况下,我可以听到声音,但看不到视频

这是持卡人

 public void surfaceCreated(SurfaceHolder holder) {
      level.playerholder = holder;              
      gameLoopThread.setRunning(true);
      renderLoopThread.setRunning(true);
       gameLoopThread.start();
    renderLoopThread.start();               
 }
 mediaPlayer.setDisplay(playerholder);
这是mediaplayer的创建,应该显示视频

while(!playerholder.isCreating());          
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDisplay(playerholder);


switch(startVideo){
case 1:
try {   
mediaPlayer.setDataSource(context,Uri.parse("android.resource://com.getfun.treevolve/raw/getfunvideo"));
                mediaPlayer.prepare();
            } catch (IllegalArgumentException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            } catch (SecurityException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            } catch (IllegalStateException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            break;
        }




        Log.d("player", "Sec: " + Integer.toString(mediaPlayer.getDuration()));



        Log.d("player", "Video width: " + Integer.toString(mediaPlayer.getVideoWidth()));
        mediaPlayer.start();
使用此设置,我的日志仅显示0。好像视频是错的。 如果在第二行中,我删除了持有者

 public void surfaceCreated(SurfaceHolder holder) {
      level.playerholder = holder;              
      gameLoopThread.setRunning(true);
      renderLoopThread.setRunning(true);
       gameLoopThread.start();
    renderLoopThread.start();               
 }
 mediaPlayer.setDisplay(playerholder);
正在工作,日志中的所有信息都正确显示,但我听到了音频,但没有看到任何内容


谢谢你的帮助,我真的需要这个

我认为对于视频,您应该使用
VideoView
VideoView要求我编辑布局xml文件,但我没有,也不想使用任何布局:-(来自文档:“MediaPlayer类可用于控制音频/视频文件和流的播放。有关如何使用此类中的方法的示例,请参见VideoView。”您不需要xml文件,您可以通过编程方式创建VideoView,并随时将其添加到活动的视图层次结构中。您好,谢谢Karakuri。我正在尝试查找一些有关如何通过编程方式添加VideoView的示例。您可以链接我吗?非常感谢
VideoView.setLayoutParams(new ViewGroup.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));