[英]MediaPlayer “ android ” It's always null?
我一直在書中追隨這個挑戰,現在被困在這里,基本上,我有一個類來控制MediaPlayer類中的一個對象,以播放文件夾“ raw”中的特定視頻,這是代碼:
private MediaPlayer mPlayer;
public void start(Context c,SurfaceHolder H){
mPlayer = MediaPlayer.create(c, R.raw.apollo_17_stroll); // always null
if(mPlayer != null){
mPlayer.setDisplay(H); // when I used it before the if statment it crashes, but I think it's because that player is null
mPlayer.start();
}
}
我有一個Surfaceview的片段視圖:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
>
<SurfaceView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="100dp"
android:paddingBottom="100dp"
android:id="@+id/hellomoon_Surface_View"
/>
</LinearLayout>
我基本上在片段類中稱它為:
private VideoPlayer mVideoPlayer = new VideoPlayer(); // the class that I created to play a specific Video
private SurfaceView mSurfaceView;
mSurfaceView = (SurfaceView)v.findViewById(R.id.hellomoon_Surface_View);
mPlayBTN.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//mPlayer.play(getActivity());
mVideoPlayer.start(getActivity(),mSurfaceView.getHolder());
}
});
//編輯:
我已經下載了一個視頻轉換器,並將視頻轉換為android支持的mp4,現在可以正常使用了,不知道為什么,但是同一個文件可以與其他人一起正常工作,還是謝謝大家。
如何將其更改為
mPlayer = MediaPlayer.create(this , R.raw.apollo_17_stroll);
*我不太確定。
但這里可能會幫助您
我是android的新手(初學者)
我認為問題在於您的情況。 我認為我們可以通過這樣的上下文:CurrentClassName.this
mVideoPlayer.start(CurrentClassName.this,mSurfaceView.getHolder());
希望您也已經在清單中注冊了其他課程
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.