基本信息
源码名称:AndroidUSb外接摄像头驱动
源码大小:3.64M
文件格式:.zip
开发语言:Java
更新时间:2018-08-16
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <TextureView android:id="@ id/textureview" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout>

package com.example.textureviewdemo; import java.io.IOException; import android.graphics.SurfaceTexture; import android.media.AudioManager; import android.media.MediaPlayer; import android.media.MediaPlayer.OnBufferingUpdateListener; import android.media.MediaPlayer.OnCompletionListener; import android.media.MediaPlayer.OnPreparedListener; import android.media.MediaPlayer.OnVideoSizeChangedListener; import android.os.Bundle; import android.app.Activity; import android.content.res.AssetFileDescriptor; import android.view.Menu; import android.view.Surface; import android.view.TextureView; import android.view.TextureView.SurfaceTextureListener; public class MainActivity extends Activity implements SurfaceTextureListener, OnBufferingUpdateListener, OnCompletionListener, OnPreparedListener, OnVideoSizeChangedListener { private TextureView mTextureView; private MediaPlayer mMediaPlayer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(); init(); } private void init() { mTextureView.setSurfaceTextureListener(this); } private void findViewById() { mTextureView = (TextureView) findViewById(R.id.textureview); } @Override public void onVideoSizeChanged(MediaPlayer arg0, int arg1, int arg2) { } @Override public void onPrepared(MediaPlayer arg0) { } @Override public void onCompletion(MediaPlayer arg0) { } @Override public void onBufferingUpdate(MediaPlayer arg0, int arg1) { } @Override public void onSurfaceTextureAvailable(SurfaceTexture surface, int arg1, int arg2) { Surface s = new Surface(surface); try { mMediaPlayer = new MediaPlayer(); AssetFileDescriptor fd = this.getAssets().openFd("video.mp4"); mMediaPlayer.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(), fd.getLength()); mMediaPlayer.setSurface(s); mMediaPlayer.prepare(); mMediaPlayer.setOnBufferingUpdateListener(this); mMediaPlayer.setOnCompletionListener(this); mMediaPlayer.setOnPreparedListener(this); mMediaPlayer.setOnVideoSizeChangedListener(this); mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); mMediaPlayer.setLooping(true); mMediaPlayer.start(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (SecurityException e) { e.printStackTrace(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } @Override public boolean onSurfaceTextureDestroyed(SurfaceTexture arg0) { mMediaPlayer.stop(); return true; } @Override public void onSurfaceTextureSizeChanged(SurfaceTexture arg0, int arg1, int arg2) { } @Override public void onSurfaceTextureUpdated(SurfaceTexture arg0) { } }


好了,用这两个控件播放视频的功能基本实现了。具体他们之间的区别是:1、TextureView必须在Android4.0及以上才可用;2、TextureView要比SurfaceView方便好用;3、其他