Android的多媒体框架支持多种媒体格式,因此你能很方便的将音频,视频和图像集成到你的应用程序中。你可以通过使用MediaPalyer APIs播放你的应用程序中的音频和视频文件(raw目录下),可以播放网络流数据文件,文件系统中的单独文件。
这篇文章向你介绍如何开发出与用户有好的交互的媒体播放应用程序。
基础:
下面的类是在android framework下,用来播放音频和视频的。
MediaPlayer:
最主要的类,用来完成音频和视频的播放。
AudioManager:
用来管理设备中的音频源和输出。
Manifest 声明:
在开发媒体播放之前,应该保证在Manifest中有正确的声明,保证你能使用相关的资源。
Internet-Permission:如果你使用网络的资源流,你要保证你能够接入网络。
<uses-permission android:name="android.permission.INTERNET" />
Wake Lock Permission :如果你的应用程序在屏幕变暗后处理器休眠状态使用,或者使用MediaPlayer.setScreenOnWhilePlaying()
or MediaPlayer.setWakeMode()方法,你必须添加下面的代码:
<uses-permission android:name="android.permission.WAKE_LOCK" />
使用MediaPlayer:
在media framework中,最重要的就是MediaPlayer类。这个类的对象可以编码,解码和播放音频和视频文件,它支持以下数据源:
本地资源,内部URIS,外部URIS(数据流)。
这是例子演示如何使用raw/下的音频文件:
MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.sound_file_1);
mediaPlayer.start();
使用内部URI例子:
Uri myUri = ....; // initialize Uri here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(getApplicationContext(), myUri);
mediaPlayer.prepare();
mediaPlayer.start();
使用HTTP流:
String url = "http://........"; // your URL here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);
mediaPlayer.prepare();
mediaPlayer.start();