1

我正在使用 android 中的视频播放器。当我在创建方法中创建表面支架时,它没有创建。但是当我在按钮 onclick 方法中创建表面支架时,它创建了

我的编码是,

preview=(VideoView)findViewById(R.id.surface);
    preview.setEnabled(true);
    preview.bringToFront();
    holder=preview.getHolder();
    holder.setFixedSize(400, 400);

    mp=new MediaPlayer(); 
    mp.setDataSource("path");
    mp.setDisplay(holder);
    mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
    mp.setOnBufferingUpdateListener(playerActivity.this);
    mp.setOnPreparedListener(playerActivity.this);
    mp.prepare();
    mp.start();
4

1 回答 1

1
mp.prepare();
mp.start();

prepare() 是异步的,这意味着,当您已经调用 mp.start 时,它可能还没有完成。“未创建表面”是什么意思?你的意思是视频不能播放吗?无论如何,您应该使用MediaPlayer.OnPreparedListener并在 中启动媒体onPrepared()

于 2011-10-28T16:46:31.933 回答