0
我有Android媒體播放器的問題。我希望它能夠從res/raw /文件夾播放視頻。我想我已經正確設置了它,但是我得到的只是黑屏。我可以在logcat中看到發現了視頻(所有信息,如分辨率在那裏都可見)。你有什麼想法可能是錯的?Android媒體播放器,視頻沒有播放
public class EnterActivity extends Activity implements SurfaceHolder.Callback {
SurfaceView mSurfaceView = null;
public static MediaPlayer mp = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_enter);
mp = MediaPlayer.create(this, R.raw.video);
mSurfaceView = (SurfaceView) findViewById(R.id.video_surface);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
//Get the dimensions of the video
int videoWidth = mp.getVideoWidth();
int videoHeight = mp.getVideoHeight();
//Get the width of the screen
int screenWidth = getWindowManager().getDefaultDisplay().getWidth();
Log.d("Width Screen", screenWidth + "");
//Get the SurfaceView layout parameters
android.view.ViewGroup.LayoutParams lp = mSurfaceView.getLayoutParams();
//Set the width of the SurfaceView to the width of the screen
lp.width = screenWidth;
//Set the height of the SurfaceView to match the aspect ratio of the video
//be sure to cast these as floats otherwise the calculation will likely be 0
lp.height = (int) (((float)videoHeight/(float)videoWidth) * (float)screenWidth);
//Commit the layout parameters
mSurfaceView.setLayoutParams(lp);
//Start video
mp.start();
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
}
嘗試'mp = MediaPlayer.create(this,「android.resource://」+ getPackageName()+「/」+ R.raw.video);' –
仍然不工作錯誤:(32,方法MediaPlayer.create(Context,Uri)不適用 (參數不匹配;字符串不能轉換爲Uri) 方法MediaPlayer.create(Context,int)方法MediaPlayer.create(Context,Uri)不適用 方法MediaPlayer.create不適用 (參數不匹配;字符串不能轉換爲int) – Bartos