Android TextureView & MediaPlayer implements video media player
2018-01-16 17:31
417 查看
Android TextureView & MediaPlayer implements video media playercode:
import android.graphics.SurfaceTexture;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Surface;
import android.view.TextureView;
import java.io.File;
public class MainActivity extends AppCompatActivity {
private MediaPlayer mMediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextureView textureView = new TextureView(this);
setContentView(textureView);
textureView.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() {
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
Surface mSurface = new Surface(surface);
player(mSurface);
}
@Override
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
}
@Override
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
mMediaPlayer.stop();
mMediaPlayer.release();
return false;
}
@Override
public void onSurfaceTextureUpdated(SurfaceTexture surface) {
}
});
}
private void player(Surface surface) {
try {
File file = new File(Environment.getExternalStorageDirectory() + "/video.mp4");
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(file.getAbsolutePath());
mMediaPlayer.setSurface(surface);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mMediaPlayer.start();
}
});
mMediaPlayer.prepare();
} catch (Exception e) {
e.printStackTrace();
}
}
}
need permission:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
import android.graphics.SurfaceTexture;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Surface;
import android.view.TextureView;
import java.io.File;
public class MainActivity extends AppCompatActivity {
private MediaPlayer mMediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextureView textureView = new TextureView(this);
setContentView(textureView);
textureView.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() {
@Override
public void onSurfaceTextureAvailable(SurfaceTexture surface, int width, int height) {
Surface mSurface = new Surface(surface);
player(mSurface);
}
@Override
public void onSurfaceTextureSizeChanged(SurfaceTexture surface, int width, int height) {
}
@Override
public boolean onSurfaceTextureDestroyed(SurfaceTexture surface) {
mMediaPlayer.stop();
mMediaPlayer.release();
return false;
}
@Override
public void onSurfaceTextureUpdated(SurfaceTexture surface) {
}
});
}
private void player(Surface surface) {
try {
File file = new File(Environment.getExternalStorageDirectory() + "/video.mp4");
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(file.getAbsolutePath());
mMediaPlayer.setSurface(surface);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mMediaPlayer.start();
}
});
mMediaPlayer.prepare();
} catch (Exception e) {
e.printStackTrace();
}
}
}
need permission:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
相关文章推荐
- android 随手记 videoview循环播放网络视频 和mediaplayer+sufaceview播放网络视频
- Android两种播放视频的方法(SurfaceView+MediaPlayer+SeekBar)跟(VideoView+MediaController)
- android视频播放简单实现示例(VideoView&MediaPlayer)
- android 随手记 videoview循环播放网络视频 和mediaplayer+sufaceview播放网络视频
- Android - SurfaceView+MediaPlayer、VideoView 2种方法播放视频
- android MediaPlayer VideoView
- Android MediaPlayer和VideoView的使用
- Android视频播放框架Vitamio集成及使用MediaPlayer+SurfaceView、VideoView+MediaController实现播放网络视频
- Android之MediaPlayer——VideoView
- android 随手记 videoview循环播放网络视频 和mediaplayer+sufaceview播放网络视频
- Android MediaPlayer详解视屏播放之VideoView(三)
- Android 通过VideoView+MediaPlayer实现视频播放
- Android:视频(VideoView/MediaPlayer)
- [置顶] Android SurfaceView+MediaPlayer制作播放暂停停止
- Android多媒体开发【1】-- 利用SurfaceView + MediaPlayer开发最简单的视频播放器
- android视频播放MediaPlayer+SurfaceView
- Android SurfaceView+MediaPlayer实现视频播放
- android mediaplayer VideoPlayerManager 加载视频闪屏问题排查解决
- Android SurfaceView+MediaPlayer 播放本地raw文件夹下的视频
- android surfaceView+mediaPlayer 自定义视频播放器