展会信息港展会大全

Android多媒体开发笔记[1]-- 利用SurfaceView + MediaPlayer开发最简单的视频播放器
来源:互联网   发布日期:2015-10-13 07:43:25   浏览:3745次  

导读:利用android SDK 提供的接口 开发最简单的视频播放demo。接下来贴出main.xml的源码:[html]<RelativeLayout xmlns:android="http...

利用android SDK 提供的接口 开发最简单的视频播放demo。

接下来贴出main.xml的源码:

[html]

<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" >

<SurfaceView

android:id="@+id/surfaceView1"

android:layout_width="wrap_content"

android:layout_height="360dp"

android:layout_alignParentLeft="true"

android:layout_alignParentRight="true"

android:layout_alignParentTop="true" />

</RelativeLayout>

接下来贴出程序源码:

[java]

package com.example.surfacemediaplayer;

import android.media.MediaPlayer;

import android.os.Bundle;

import android.os.Environment;

import android.app.Activity;

import android.view.Menu;

import android.view.SurfaceHolder;

import android.view.SurfaceView;

import android.view.SurfaceHolder.Callback;

public class SurfaceMediaPlayer extends Activity {

SurfaceView surfaceView;

MediaPlayer mediaPlayer;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_surface_media_player);

mediaPlayer=new MediaPlayer();

surfaceView=(SurfaceView) this.findViewById(R.id.surfaceView1);

surfaceView.getHolder().addCallback(new Callback() {

@Override

public void surfaceDestroyed(SurfaceHolder holder) {

}

@Override

public void surfaceCreated(SurfaceHolder holder) {

//开始播放

play();

}

@Override

public void surfaceChanged(SurfaceHolder holder, int format, int width,

int height) {

}

});

}

private void play() {

try {

String path = Environment.getExternalStorageDirectory().getPath()+"/Movies/run_to_you.3gp";

mediaPlayer.setDataSource(path);

//把视频画面输出到SurfaceView

mediaPlayer.setDisplay(surfaceView.getHolder());

mediaPlayer.prepare();

//开始播放

mediaPlayer.start();

} catch (Exception e) {

// TODO: handle exception

}

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.activity_surface_media_player, menu);

return true;

}

}

程序运行截图:

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
推荐内容
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港