簡體   English   中英

MediaPlayer“ android”總是為空嗎?

[英]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); 

*我不太確定。

但這里可能會幫助您

MediaPlayer.create()始終返回null

Android MediaPlayer.Create()返回null

我是android的新手(初學者)

我認為問題在於您的情況。 我認為我們可以通過這樣的上下文:CurrentClassName.this

 mVideoPlayer.start(CurrentClassName.this,mSurfaceView.getHolder());

希望您也已經在清單中注冊了其他課程

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM