网络文件就是指放在网络上的文件,也可能是流媒体等网络资源。由于这种方式不用存储比较方便,但它的弊端就是要通过网络,速度要比上两种方式差,因此一般网络播放方式要采用异步预处理方式。还有网络流量费用也会增加用户的使用成本。下面看看播放网络音频文件的代码请参考代码清单12-3,完整代码请参考Chapter12_3工程中AudioPlayer代码部分。
【代码清单12-3】
private void play() {
try {
if (mMediaPlayer == null || state == STOP) {
// 创建MediaPlayer对象并设置Listener
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setOnPreparedListener(preListener);
} else {
// 复用MediaPlayer对象
mMediaPlayer.reset();
}
// 播放网络媒体最好不要调用prepare()方法
mMediaPlayer
.setDataSource("http://www.51work6.com/android_book/audio/ma_mma.mp3");
mMediaPlayer.prepareAsync();
} catch (Exception e) {
e.printStackTrace();
}
}
网络文件和本地文件其实可以采用相同播放方式,当时由于考虑网络速度的影响,网络播放一般采用异步预处理方法prepareAsync(),同步预处理方法prepare()也是可以播放网络文件的,但是用户体验不好。流程如图12-8所示。
图12-8播放流程
播放网络音频文件不需要向其它的网络应用程序需要在AndroidManifest.xml文件中打开<uses-permission android:name="android.permission.INTERNET"></uses-permission>权限。
出自《Android开发案例驱动教程》
- 大小: 17.1 KB
分享到:
相关推荐
要实现这一功能,开发者需要理解Android多媒体框架、网络编程以及文件系统操作等多个方面的知识。以下将详细讲解如何在Android应用中实现这一功能。 首先,了解Android多媒体框架至关重要。Android提供了一个强大的...
2. **头文件和库**:NDK提供了Android系统的API头文件和必要的库文件,使得开发者可以访问Android系统服务,如硬件设备、多媒体、网络等。 3. **构建系统**:如Build.Gradle插件,使得在Android Studio中可以方便地...
在Android平台上,多媒体功能是应用程序开发中的重要组成部分,特别是针对视频的应用。本篇文章将深入探讨Android如何处理视频的录制、播放、存储以及界面优化,帮助开发者构建高效且用户体验优秀的视频应用。 1. ...
通过分析这个项目,开发者不仅可以学习到Android的多媒体编程,还能了解到网络编程、UI设计、性能优化等多个方面的知识。对于想要开发自己的视频应用或者增强现有应用的开发者来说,这是一个宝贵的资源。
`MediaPlayer`是一个强大的音频播放器,它可以播放本地文件、网络流媒体、甚至是Android资源文件(如R.raw中的音频)。首先,我们需要创建一个`MediaPlayer`实例,然后加载音频源,最后调用播放方法来开始播放。以下...
2. **MediaPlayer类**:这是Android中最基础的音频和视频播放器类,用于播放本地或网络上的媒体文件。它提供了控制播放、暂停、停止、跳转等基本功能,并能处理流式传输和多媒体文件的解码。 3. **SurfaceView和...
AndroidShow-master项目提供了一个解决方案,它允许我们在Android设备上搭建RTSP(Real Time Streaming Protocol)流媒体服务器,进而实现通过VLC等播放器播放实时视频的功能。本文将深入探讨这一项目的实现原理、...
- 这些库文件包含了Android系统的核心组件和服务,例如UI框架、网络通信、多媒体处理等。开发者可以调用这些库来实现各种功能。 8. **System Images**: - 对于完整的SDK,`android-34`可能还包括用于模拟器或...
5. **多媒体处理**:猜歌应用涉及到音频播放,所以需要理解如何使用Android的MediaPlayer类来播放音乐文件,以及如何处理音频流。 6. **网络编程**:如果应用需要从服务器获取歌曲信息,那么网络请求是必不可少的。...
总之,"Android 多媒体文件选择器" 提供了一个高效、灵活的选择工具,可以帮助开发者快速实现多媒体选择功能,同时具备与社交网络集成的能力,极大地丰富了用户体验。通过理解和定制这个项目,开发者可以构建出更加...
根据给定的信息,“Pro.Android.Media--Android多媒体开发白皮书”是一本专注于Android平台上多媒体应用开发的专业书籍。本书由Shawn VanEvery编写,详细介绍了如何使用Android多媒体API创建动态移动应用,包括图形...
将解压后的“android-10”文件放入SDK的“platforms”文件夹下,意味着开发者可以使用此SDK来开发和测试针对Android 2.3.3-2.3.7的应用。通过设置Android项目的最小SDK版本为API 10,可以确保应用能在这一系列版本的...
Android多媒体架构是Android系统中处理音频、视频和图像的核心组件,主要由Media Framework构成,它位于Libraries层,采用C/C++编写,并通过JNI(Java Native Interface)与Java层交互。这一架构基于PacketVideo公司...
5. **权限管理**:Android应用使用FFmpeg可能需要请求读写存储、网络等权限,需要在AndroidManifest.xml中添加相应的权限声明。 6. **音视频处理API**:理解FFmpeg的关键函数和结构体,如avformat_open_input()用于...
本文将深入探讨OpenCore的功能、架构以及它在Android多媒体处理中的应用。 OpenCore是一个综合的多媒体处理引擎,主要负责媒体数据的解码、编码、流媒体处理等任务。在Android系统中,OpenCore提供了对多种媒体格式...
**MediaPlayer** 是Android多媒体架构中的核心组件之一,它位于应用程序层(AL),负责处理用户的播放请求。其主要职责包括: - 管理音频和视频的播放。 - 控制播放速度、音量等参数。 - 提供错误处理机制。 #####...
在Android平台上,开发一款音乐播放器是常见的应用场景。"Android--...通过学习和实践这个Demo,开发者可以深入理解Android多媒体播放的核心概念,并为进一步开发复杂功能如播放列表、歌曲搜索等打下基础。
- 对于特定功能,如网络通信、多媒体处理,可以查看对应的模块源码,如 `frameworks/opt/telephony` 或 `media` 目录。 4. **源码调试与开发**: - 使用 Android Studio 集成开发环境,结合源码,可以进行断点...
【Android多媒体框架与开发应用框架】 在Android系统中,多媒体框架是实现音频、视频和图像处理的核心组件,而应用框架则是开发者构建应用程序的基础。本文将深入解析这两个关键领域的概念和工作原理。 一、...
`Android-sklad`可以与其他库和框架结合使用,例如配合`Retrofit`进行网络请求并缓存响应数据,或者与`ExoPlayer`配合实现加密视频的流式播放。 总结,`Android-sklad`是一个强大且安全的文件管理解决方案,它简化...