在线播放,将文件转成流媒体

1.Android支持视频播放,但是要在线直接播放视频是不能直接请求.mp4等视频格式的,因为这些格式不支持渐进播放,所以我们就需要将文件转换成流媒体文件,这里我使用的是QuickTimeInstaller.ext来完成转换的,需要注册码网上有免费的,需要的话就搜索吧,另外苹果的软件注册码的位置跟windows的习惯不一样,通常我们都是在帮助里面找到注册信息,但是苹果放在了编辑--偏好设置里,注册后以后重新开启就可以了

2.将文件拖入框内,(可能反应比较慢)然后点击文件----导出,选择格式3G,进行设置

文件格式:3GPP

视频格式:MPEG-4

数据速率128 千位/秒 (数字高低与画质成正比,与下载速度成正比)

优化:下载

帧率:15

图像大小:根据需求设定吧

关键帧:每 24 帧

然后采用URL地址请求 就可以直接播放了

大体代码如下(本代码未做任何优化只是简单实现,根据个人需求在做更改吧)

 1 import android.app.Activity;
 2 import android.media.AudioManager;
 3 import android.media.MediaPlayer;
 4 import android.os.Bundle;
 5 import android.view.SurfaceHolder;
 6 import android.view.SurfaceView;
 7 public class VideoActivity extends Activity{
 8     private SurfaceView sv;
 9     private SurfaceHolder holder;
10     private String link; private MediaPlayer player;
11     @Override
12         protected void onCreate(Bundle savedInstanceState){
13         super.onCreate(savedInstanceState);
14         setContentView(R.layout.video);
15         sv=(SurfaceView)findViewById(R.id.sv);
16         holder=sv.getHolder();
17         holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
18         link=getIntent().getStringExtra("link");//这里代表URL路径 随意更改
19         holder.addCallback(new Callback(){
20         public void surfaceDestroyed(SurfaceHolder holder){
21             if(player!=null){
22             player.stop();
23             player.release();
24             player=null;
25             }
26         }
27         public void surfaceCreated(SurfaceHolder holder){
28         System.out.println("link:"+link);
29         if(link!=null){
30         try{
31         player=new MediaPlayer();
32         player.setAudioStreamType(AudioManager.STREAM_MUSIC);
33         player.setDataSource(link);
34         player.setDisplay(holder);
35         player.prepare();
36         player.start();
37         }catch(Exception e){
38             e.printStackTrace();
39         }
40     }
41     }
42     public void surfaceChanged(SurfaceHolder holder,int format,int width,int height){
43         }
44     }
45 }

 

 

 

转载于:https://www.cnblogs.com/developer-wang/archive/2013/01/19/2867964.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值