詳解Android App中使用VideoView來(lái)實(shí)現(xiàn)視頻播放的方法
通過(guò)VideoView播放視頻的步驟:
1、在界面布局文件中定義VideoView組件,或在程序中創(chuàng)建VideoView組件
2、調(diào)用VideoView的如下兩個(gè)方法來(lái)加載指定的視頻
(1)setVidePath(String path):加載path文件代表的視頻
(2)setVideoURI(Uri uri):加載uri所對(duì)應(yīng)的視頻
3、調(diào)用VideoView的start()、stop()、psuse()方法來(lái)控制視頻的播放
VideoView通過(guò)與MediaController類結(jié)合使用,開(kāi)發(fā)者可以不用自己控制播放與暫停
package cn.com.chenzheng_java;
import android.app.Activity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
import android.widget.MediaController;
import android.widget.VideoView;
import android.widget.MediaController.MediaPlayerControl;
public class VideoActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.video);
VideoView videoView = (VideoView)findViewById(R.id.videoView1);
/***
* 將播放器關(guān)聯(lián)上一個(gè)音頻或者視頻文件
* videoView.setVideoURI(Uri uri)
* videoView.setVideoPath(String path)
* 以上兩個(gè)方法都可以。
*/
videoView.setVideoPath("data/yueding.mp3");
/**
* w為其提供一個(gè)控制器,控制其暫停、播放……等功能
*/
videoView.setMediaController(new MediaController(this));
/**
* 視頻或者音頻到結(jié)尾時(shí)觸發(fā)的方法
*/
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.i("通知", "完成");
}
});
videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
Log.i("通知", "播放中出現(xiàn)錯(cuò)誤");
return false;
}
});
}
}
video.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="horizontal">
<VideoView android:layout_height="match_parent" android:id="@+id/videoView1"
android:layout_width="wrap_content"></VideoView>
</LinearLayout>
當(dāng)然,我們也可以播放網(wǎng)絡(luò)上的多媒體。
- Android使用VideoView播放本地視頻和網(wǎng)絡(luò)視頻的方法
- Android提高之MediaPlayer播放網(wǎng)絡(luò)視頻的實(shí)現(xiàn)方法
- Android使用VideoView出現(xiàn)無(wú)法播放此視頻問(wèn)題的解決方法
- Android播放assets文件里視頻文件相關(guān)問(wèn)題分析
- Android如何讓W(xué)ebView中的HTML5頁(yè)面實(shí)現(xiàn)視頻全屏播放
- 一個(gè)html5播放視頻的video控件只支持android的默認(rèn)格式mp4和3gp
- Android自定義SeekBar實(shí)現(xiàn)視頻播放進(jìn)度條
- android webvie指定視頻播放器播放網(wǎng)站視頻
- android視頻播放簡(jiǎn)單實(shí)現(xiàn)示例(VideoView&MediaPlayer)
- Android實(shí)現(xiàn)音樂(lè)視頻播放
相關(guān)文章
android 中viewpager+fragment仿微信底部TAG完美漸變
這篇文章主要介紹了android 中viewpager+fragment仿微信底部TAG完美漸變,需要的朋友可以參考下2017-05-05
Android自定義TextBanner實(shí)現(xiàn)自動(dòng)滾動(dòng)
這篇文章主要為大家詳細(xì)介紹了Android自定義TextBanner實(shí)現(xiàn)自動(dòng)滾動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07
代碼分析Android實(shí)現(xiàn)側(cè)滑菜單
現(xiàn)在app越來(lái)越注重用戶體驗(yàn),本文給大家分析android實(shí)現(xiàn)側(cè)滑菜單的代碼,代碼簡(jiǎn)單易懂,感興趣的朋友一起看看吧2015-11-11
Android實(shí)現(xiàn)朋友圈評(píng)論回復(fù)列表
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)朋友圈評(píng)論回復(fù)列表,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11
Android json數(shù)據(jù)解析詳解及實(shí)例代碼
這篇文章主要介紹了 Android json數(shù)據(jù)解析詳解及實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下2017-02-02
Android N 7.0中報(bào)錯(cuò):android.os.FileUriExposedException的解決方法
這篇文章主要給大家介紹了關(guān)于在Android N 7.0中報(bào)錯(cuò):android.os.FileUriExposedException的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧2018-05-05
Android原生TabLayout使用的超全解析(看這篇就夠了)
現(xiàn)在很多app都有頂部可左右切換的導(dǎo)航欄,并且還帶動(dòng)畫效果,要實(shí)現(xiàn)這種導(dǎo)航欄,可以使用Android原生的Tablayout也可以借助第三方框架實(shí)現(xiàn),這篇文章主要給大家介紹了關(guān)于Android原生TabLayout使用的相關(guān)資料,需要的朋友可以參考下2022-09-09
Android自定義圓弧進(jìn)度條加數(shù)字動(dòng)態(tài)變化
這篇文章主要為大家詳細(xì)介紹了Android自定義圓弧進(jìn)度條加數(shù)字動(dòng)態(tài)變化,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07

