登录/注册
android中音频视频开发教程.doc
2023-09-19,文件大小: 118.50K, 下载: 0
下载
下载地址加载中.... 下载教程
提示: 此文件暂无参考内容, 请自行判断再确认下载!!
作者很懒没有写任何内容
本文简介媒体包供应了可管理各种媒体类型的类。这些类可供应用于执行音频和视频操作。除了基本操作之外,还可供应铃声管理、脸部识别以及音频路由掌握。本文说明白音频和视频操作。范围:本文旨在针对盼望简洁了解Android编程的初学者而设计。本文将指导你逐步开发使用媒体(音频和视频)的应用程序。本文假定你已安装了可开发应用程序的Android和必要的工具,同时还假定你已熟识Java或掌握面对对象的编程概念。如欲查询更多有关Android的详情,请参阅三星移动创新者园地(SMI)知识库网站。http://innovator.samsungmobile.com/cn/platform。main。do?platformId=1 简介通过“android。media”包支持音频和视频操作。除了基本操作之外,还可以供应用于铃声管理、脸部识别以及音频路由掌握的各种类。Android通过MediaPlayer类支持播放音频和视频。MediaPlayer类处于Android media包的核心位置.除了MediaPlayer类之外,SoundPool和JetPlayer类也可供应用来播放音频文件.播放音频文件MediaPlayer是播放媒体文件最为广泛使用的类。MediaPlayer已设计用来播放大容量的音频文件以及同样可支持播放操作(停止、开头、暂停等)和查找操作的流媒体.其还可支持与媒体操作相关的监听器。通过以下方式可完成播放MediaPlayer中的音频和视频:· 从源文件播放。· 从文件系统播放。· 从流媒体播放。 MediaPlayer监听器定义了部分监听器,如OnCompletionListener、OnPrepareListener、OnErrorListener、OnBufferingUpdateListener、OnInfoListener,OnVideoSizeChangedListener和OnSeekCompleteListener.当在播放过程中到达媒体源末端时,可调用OnCompletionListener onCompletion(MediaPlayer mp)大事。你也可使用监听器大事来从列表中播放下一首歌曲或释放媒体播放器对象.当筹备播放媒体源时,将可调用OnPrepareListener onPrepared(MediaPlayer mp)大事。你可以开头播放onPrepared()方法中的歌曲。当在异步操作过程中消灭错误时(其他错误将在调用方法时抛出特别),将可调用OnErrorListener boolean onError(MediaPlayer mp, int what, int extra)大事。参数what指明白已发生错误的类型。这可能为MEDIA_ERROR_UNKNOWN or MEDIA_ERROR_SERVER_DIED。参数extra指明白与错误相关的附加信息.从res播放音频这是播放音频文件最一般的方法。在此情况下,音频文件应存在于该项目的raw或assets文件夹中,如图1中所示。


窗口〉 显示视图> 其他,可打开Eclipse IDE中的FileExplorer视图。其将
打开显示视图。如图2中所示,选择Android 〉FileExplorer。一
旦选择File Explorer(文件管理器),即将会打开File Explorer视图,如图3所示。
如欲访问一个原资源,仅需使用无扩展名的小写文件名称:context appContext = getApplicationContext();MediaPlayer mMediaPlayer =MediaPlayer。create(appContext,R。raw。samplemp3);mMediaPlayer.start();或MediaPlayer mMediaPlayer = MediaPlayer。create(this, R。raw.samplemp3);mMediaPlayer.start();如欲停止播放,调用stop().如果你盼望重播该媒体,则须在再次调用start()之前reset()(重置())并prepare()(筹备())该MediaPlayer对象.(create()首次调用prepare()。)如欲暂停播放,调用pause()。使用start()可从你已暂停的地方恢复播放.从文件系统播放音频访问音频文件的其次种方法是从文件系统,即SD卡.大多数音频资源均存在于SD卡中。在讨论如何通过SD卡访问音频文件之前,让我们看一下如何在SD卡中加载文件。通过


在,可将文件推入SD卡中,在File Explorer中选择sdcard文件夹,并使用位于右上角的右箭头来选择按钮
。此操作可开启对话框,可使你选择文件。选择你所需上传至SD卡中的文件。将文件推入SD卡中
后,如图4中显示了可用的内容。通过以下方式来从SD卡访问文件String pathToFile = "/sdcard/samplemp3。mp3”;//create mediaplayermediaPlayer = new MediaPlayer();//set audio file pathtry { mediaPlayer。setDataSource(pathToFile);} catch (IllegalArgumentException e) { e.printStackTrace();} catch (IllegalStateException e) { e。printStackTrace();} catch (IOException e) { e。printStackTrace();}//Prepare mediaplayertry { mediaPlayer.prepare();} catch (IllegalStateException e) { e。printStackTrace();} catch (IOException e) { e。printStackTrace();}//start mediaPlayer



先,创建一个新的MediaPlayer实例.其次,将待播放的音频文件(文件路径)设置为MediaPlayer实例
的数据源。在播放器开头播放歌曲之前,必须筹备好MediaPlayer对象。prepare()方法为堵塞方法,并可堵塞直至
媒体播放器筹备播放歌曲.非堵塞方法prepareAsync()也可进行供应。如果媒体播放器用来从流媒体中播放歌曲,并
且在播放歌曲之前需要缓冲数据,则应使用非堵塞prepare方法。现在使用以下
内容来播放掌握方法,如Start()、stop()等.在可设置用于部分其他歌曲文件之前,媒体播放器对象须
进行重置。媒体播放器在其使用后须予以释放。此操作使用release()方法来完成。Release()方法可释放与MediaPlayer对象相关
联的资源。当你使用MediaPlayer来完成操作时,这被认为是调用此方法的最
佳实践。我们也可通过以下方式来创建媒体播放器String pathToFile = ”/sdcard/samplemp3。mp3";MediaPlayer filePlayer = MediaPlayer。create( appContext,Uri。parse(pathToFile) );此处可通过解
析给定的已编译URI字符串来使用URI类创建Uri。从网
页播放音频使用与用于访问SD卡中存有的音频文件的相同
代码,可完成访问网站中的音频文件。唯一的变化就是文件路
径。此处的路径将为网站URL,其指向音频资源文件。此处最重要的部分就是使用互联网提取数据,因
此必须猎取访问互联网的许可。在AndroidManifest。xml文件中设置互联网许可 并
且显示如下代码片段//Create VideoViewVideoView videoView = (VideoView)this.findViewById(R。id.videoView);//Create MediaControllerMediaController mc = new MediaController(this);//Set MediaController to VideoViewvideoView.setMediaController(mc);//Set video path of SD CardvideoView。setVideoURI(Uri。parse(”file:///sdcard/samplemp4.mp4”));OR//Set video web pathvideoView.setVideoURI(Uri.parse(”http://www。xyz.com/。./sample3gp。3gp"));//Set requestFocusvideoView.requestFocus();//Play VideovideoView.start();从文件系统播放视频从将访问视频文件的地方设置视频路
径。此处指定了文件系统的路径.使用Uri。parse(String path)
静态方法,其可将该字符串转换为Uri。从网页播放视频此操作与从文件系统播放视频的方法相同,
唯一的区分就是路径。此处的路径指向网站。VideoView setVideoURI(Uri uri)SurfaceView
VideoViewAndroid供应了


允许我们指定我们自己的显示面,并可允许直接操控媒体播放器基础实例。如欲使用媒体播放器来查看视频
内容,首先要筹备一个将可显示该视频的显示面。媒体播放器要求一个SurfaceHolder对象来显示视频
内容,该对象可使用setDisplay()方法来予以安排。如欲在UI布局中包括Surface Holder,使用存在于res文件夹中的
布局文件中的SurfaceView控件.SurfaceView〈LinearLayout xmlns:android="http://schemas。android.com/apk/res/android" android:orientation=”vertical" android:layout_width=”fill_parent” android:layout_height=”fill_parent” 〉 以下
代码片段说明白如何创建SurfaceView和SurfaceHolder。 //create SurfaceViewSurfaceView surfaceView = (SurfaceView) findViewById(R。id。surface);//get SurfaceHolderSurfaceHolder holder = mPreview.getHolder();//add callbackholder。addCallback(this);//set Surface Typeholder.setType(SurfaceHolder。SURFACE_TYPE_PUSH_BUFFERS);//set Surface sizeHolder。setFixedSize(width, height); //specify the width and height here如欲
显示视频,需要执行SurfaceHolder。Callback接口。SurfaceHolder.Callback接口有三种方法@Overridepublic void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, intarg3) {}@Overridepublic void surfaceCreated(SurfaceHolder holder) {}@Overridepublic void surfaceDestroyed(SurfaceHolder arg0) {}类有
助于我们掌握表面(如果表面发生变化,包括大小或表面的格式…)。一旦已创建表面,即可调用surfaceCreated(SurfaceHolder holder)。
然后,创建一个MediaPlayer对象并设定其他参数。SurfaceHolder



方法MediaPlayer create (Context context, int resid)来创建MediaPlayer对象.该媒体播放器要
求一个SurfaceHolder对象来显示视频内容,该对象可使用setDisplay()方法来
予以安排.//Create MediaPlayer from resMediaPlayer mMediaPlayer = MediaPlayer.create(this,R。raw。samplemp4);//Set the displaymMediaPlayer.setDisplay(holder);//Set other parametersmMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);//start the playermMediaPlayer.start(); 从文件系统播放视频在此情况下,需要使用setDataSource (String path)方法来将文件路
径设置为MediaPlayer。然后,需要使用prepare()方法来筹备mediaplayer。prepare()方法可同步筹备播放器
进行播放。设置datasource和
显示面后,你需要调用prepare()或prepareAsync().使用try–catch Exception语句
,由于特定的方法(如setDataSource()、prepare())可能会抛出特别.String pathToFile = "/sdcard/samplemp4。mp4”;// Create a new media player and set the listenersMediaPlayer mMediaPlayer = new MediaPlayer();mMediaPlayer。setDataSource(pathToFile);mMediaPlayer。setDisplay(holder);mMediaPlayer.prepare();// set listeners, if required by applicationmMediaPlayer.setAudioStrea
内容系创作者发布,涉及安全和抄袭问题属于创作者个人行为,不代表夹子盘观点,可联系客服删除。
上传者
可乐
夹子盘