日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

第55章、播放视频(从零开始学Android)

發布時間:2023/12/10 Android 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 第55章、播放视频(从零开始学Android) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  在Android中,我們有三種方式來實現視頻的播放:

  1、使用其自帶的播放器。指定Action為ACTION_VIEW,Data為Uri,Type為其MIME類型。

  2、使用VideoView來播放。在布局文件中使用VideoView結合MediaController來實現對其控制。

  3、使用MediaPlayer類和SurfaceView來實現,這種方式很靈活。

  本案例著重講解第三種MediaPlayer方式:MediaPlayer播放視頻除了利用MediaPlayer,還需要SurfaceView與之配合,Surface可以完成對后臺線程的控制,對于視頻、3D加速或者高頻率對象都有很大的用途。

  

一、設計界面

  1、首先把play.png、stop.png兩張圖片復制到res/drawable-hdpi文件夾內。

  

  2、布局文件

  打開activity_main.xml文件。

  輸入以下代碼:

<?xml version="1.0" encoding="utf-8" ?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"><ImageButtonandroid:id="@+id/playvideo"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/play" /><ImageButtonandroid:id="@+id/stopvideo"android:layout_width="wrap_content"android:layout_height="wrap_content"android:src="@drawable/stop" /><SurfaceViewandroid:id="@+id/surface"android:layout_width="wrap_content"android:layout_height="wrap_content" /></LinearLayout>


?

二、程序文件

  打開“src/com.genwoxue.mp3/MainActivity.java”文件。

  然后輸入以下代碼

package com.genwoxue.videoplayer;import java.io.IOException;import android.app.Activity; import android.media.AudioManager; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Environment; import android.view.SurfaceHolder; import android.view.SurfaceView; import android.view.View; import android.view.View.OnClickListener; import android.widget.ImageButton;public class MainActivity extends Activity{private SurfaceView surfaceView=null;private SurfaceHolder surfaceHolder=null;private MediaPlayer media=null;private ImageButton btnPlay=null;private ImageButton btnStop=null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//獲得surfaceView對象surfaceView = (SurfaceView) this.findViewById(R.id.surface);//獲得surfaceHolder對象surfaceHolder = this.surfaceView.getHolder();//設置 SurfaceView類型surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);//創建MediaPlayer對象media=new MediaPlayer();try {this.media.setDataSource( //設置視頻源,即視頻路徑Environment.getExternalStorageDirectory().getPath()+"/genwoxue/mybaby.3gp");} catch (IllegalArgumentException e) {e.printStackTrace();} catch (SecurityException e) {e.printStackTrace();} catch (IllegalStateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}btnPlay=(ImageButton)super.findViewById(R.id.playvideo);btnStop=(ImageButton)super.findViewById(R.id.stopvideo);//播放視頻btnPlay.setOnClickListener(new OnClickListener(){@Override public void onClick(View v){media.setAudioStreamType(AudioManager.STREAM_MUSIC);media.setDisplay(MainActivity.this.surfaceHolder);try {media.prepare();} catch (IllegalStateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}media.start();}});//停止視頻btnStop.setOnClickListener(new OnClickListener(){@Override public void onClick(View v){media.stop();}});}}


三、運行結果

   

  單擊“播放”按鈕,“里約大冒險”正在為您熱映……

?

?

附:

  (1)使用其自帶的播放器。指定Action為ACTION_VIEW,Data為Uri,Type為其MIME類型。

Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()+"/Test_Movie.m4v"); //調用系統自帶的播放器 Intent intent = new Intent(Intent.ACTION_VIEW); Log.v("URI:::::::::", uri.toString()); intent.setDataAndType(uri, "video/mp4"); startActivity(intent);


  (2)使用VideoView來播放。在布局文件中使用VideoView結合MediaController來實現對其控制。

Uri uri = Uri.parse(Environment.getExternalStorageDirectory().getPath()+"/Test_Movie.m4v"); VideoView videoView = (VideoView)this.findViewById(R.id.video_view); videoView.setMediaController(new MediaController(this)); videoView.setVideoURI(uri); videoView.start(); videoView.requestFocus();


?

總結

以上是生活随笔為你收集整理的第55章、播放视频(从零开始学Android)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。