快播
来源:互联网 发布:mac 乱码 编辑:程序博客网 时间:2024/04/28 22:15
VideoView 使用方法简单播放视频
SurfaceView 播放流媒体,显示游戏界面的一个控件
特点:双缓冲技术(两个线程显示界面)界面刷新的帧率高,播放视频,开发游戏
A 更新界面——后台计算。。。。
B 后台计算——更新界面。。。。。
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<SurfaceView
android:id="@+id/sv"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:onClick="play"
android:text="play" />
</RelativeLayout>
package com.qq.kuaibo;
import java.io.IOException;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnPreparedListener;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends Activity {
private SurfaceView sv;
private SurfaceHolder holder;
private MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sv=(SurfaceView) findViewById(R.id.sv);
holder=sv.getHolder();//得到surfaceview显示内容的容器 ,界面内容是显示在容器里
//过时的api,必须写,如果是4.0以上的系统,不写完全没有问题,4.0以下的系统必须要写
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
}
public void play(View view){
try {
mediaPlayer=new MediaPlayer();
//类型 声音加视频
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
//按屏幕大小适配
//mediaPlayer.setVideoScalingMode(MediaPlayer.VIDEO_SCALING_MODE_SCALE_TO_FIT);
//数据源
mediaPlayer.setDataSource("/mnt/sdcard/DCIM/Camera/20150818_033345.mp4");
//视频显示到容器中
mediaPlayer.setDisplay(holder);
//异步准备
mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer arg0) {
// TODO Auto-generated method stub
mediaPlayer.start();
}
});
} catch (Exception e) {
// TODO Auto-generated catch block
Toast.makeText(this, "播放失败", 0).show();
e.printStackTrace();
}
}
}
- 快播
- 快播不行了!!!!快播不行了!!!!
- 快播常用属性
- 快播插件API
- 快播网页API
- 快播转型
- 快播java面试题
- 快出狱的王欣,快播错过的三年
- 快播资源哪里跑(逆向)
- 快播大屏幕推出的真正原因
- 强制关闭快播自动升级
- 快播 QvodTerminal.exe 应用程序错误排查
- 彻底解决快播不可点播方法
- 手机快播文件合并法
- 快播“洗白”,难道要抛弃用户?
- 还原快播"地下"利益链
- 快播还有翻身的机会吗?
- 快播5.0官方免费版 精简版
- 关于attachEvent和addEventListener事件监听
- python struct中pack和unpack
- HDU-5400 Arithmetic Sequence(数学 || DP)
- 在 SQL Server 2000 中利用 Meta Data Services 创建数据库架构知识库
- meta的用法
- 快播
- Web前端开发
- (0) 什么是Apache Hadoop
- Android安卓根据地址下载文件并保存到本地(HttpDownload)
- spec文件问题定位
- Java设计模式透析之 —— 策略(Strategy)
- js作用域
- Android 安全架构及权限控制机制剖析
- centos 6.5 安装 memcached 1.4.24