您好,登錄后才能下訂單哦!
使用VideoView播放MP4
播放示例
實現(xiàn)簡單的播放功能,播放手機本地的MP4文件。不依賴任何第三方框架,不添加任何防腐劑。
添加一個系統(tǒng)自帶的控制條。
相關(guān)代碼請參閱: https://github.com/RustFisher/android-MediaPlayer/tree/master/appMp4
申請權(quán)限
讀取存儲中的MP4文件
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
準(zhǔn)備布局文件
在frag_video_view.xml
中放置VideoView;為了讓內(nèi)容居中顯示,將其套在LinearLayout
中,并選擇android:layout_gravity="center
"。否則可能會出現(xiàn)視頻內(nèi)容不居中的情況。
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/black"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <VideoView android:id="@+id/video_view" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" /> </LinearLayout> <TextView android:id="@+id/path_tv" android:layout_width="match_parent" android:layout_height="wrap_content" android:textColor="@android:color/white" android:textSize="13sp" /> </RelativeLayout>
在Fragment中直接播放視頻文件;
private static String mMP4Path; VideoView mVideoView; MediaController mMediaController; @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); TextView pathTv = view.findViewById(R.id.path_tv); mVideoView = view.findViewById(R.id.video_view); mMediaController = new MediaController(getContext()); if (!TextUtils.isEmpty(mMP4Path)) { mVideoView.setVideoPath(mMP4Path); mVideoView.setMediaController(mMediaController); mVideoView.seekTo(0); mVideoView.requestFocus(); mVideoView.start(); pathTv.setText(mMP4Path); } }
Fragment視圖創(chuàng)建完畢時,設(shè)置MP4文件路徑,添加控制器,調(diào)整到最開始的地方,開始從頭播放。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。