• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > Android--音乐播放器

Android--音乐播放器

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android音乐播放器ppt,android中音乐播放器,android qq音乐播放器,android做音乐播放器,android写音乐播放器等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

Android--音乐播放器


1、什么是Open Core?

Open Core是 Android 多媒体框架的核心,所有 Android平台的音频、视频的采用以及播放等操作,都是通过它来实现。

 

2、Open Core 的具体功能

  • 1、多媒体文件的播放、下载,包括:3GPP,MPEG-4,AAC 和 MP3 containers。
  • 2、流媒体文件的下载、实时播放,包括:3GPP,HTTP 和 RTSP/RTP。
  • 3、动态视频和静态图像的编码、解码,例如:MPEG-4,H.263 和 AVC (H.264),JPEG。
  • 4、语音编码格式:MP3,AAC,AAC+。
  • 5、视频和图像格式:3GPP,MPEG-4 和 JPEG。
  • 6、视频会议:基于 H324-M 标准。

    Open Core是一个多媒体的框架,从宏观上来看,它主要包含了两大方面的内容:

    • 1、PVPPlayer:提供媒体播放器的功能,完成各种音频(Audio)、视频(Video)流的回放(Playback)功能。
    • 2、PVAuthor:提供媒体流记录的功能,完成各种音频、视频流以及静态图像的捕获功能。

      3、Mediaplayer 介绍 

      MediaPlayer类可以用来播放音频、视频和流媒体,MediaPlayer包含了 Audio 和 Video 的播放功能,在 Android 的界面上, Music 和 Video 两个应用程序都是调用MediaPlayer实现的。下面两张图是MediaPlayer 在 Android 和 Open Core 的示例图:

      \

      \

       

      下面是图例显示MediaPlayer 的生命周期

      \

      3.1、MediaPlayer 常用方法介绍

      • 方法:create(Contextcontext,Uriuri)
        解释:静态方法,通过Uri创建一个多媒体播放器。
      • 方法:create(Contextcontext, int resid)
        解释:静态方法,通过资源ID创建一个多媒体播放器
      • 方法:create(Contextcontext,Uriuri,SurfaceHolderholder)
        解释:静态方法,通过Uri和指定 SurfaceHolder 【抽象类】 创建一个多媒体播放器
      • 方法:getCurrentPosition()
        解释:返回 Int, 得到当前播放位置
      • 方法:getDuration()
        解释:返回 Int,得到文件的时间
      • 方法:getVideoHeight()
        解释:返回 Int ,得到视频的高度
      • 方法:getVideoWidth()
        解释:返回 Int,得到视频的宽度
      • 方法:isLooping()
        解释:返回 boolean ,是否循环播放
      • 方法:isPlaying()
        解释:返回 boolean,是否正在播放
      • 方法:pause()
        解释:无返回值 ,暂停
      • 方法:prepare()
        解释:无返回值,准备同步
      • 方法:prepareAsync()
        解释:无返回值,准备异步
      • 方法:release()
        解释:无返回值,释放MediaPlayer对象
      • 方法:reset()
        解释:无返回值,重置MediaPlayer对象
      • 方法:seekTo(int msec)
        解释:无返回值,指定播放的位置(以毫秒为单位的时间)
      • 方法:setAudioStreamType(int streamtype)
        解释:无返回值,指定流媒体的类型
      • 方法:setDataSource(Stringpath)
        解释:无返回值,设置多媒体数据来源【根据 路径】
      • 方法:setDataSource(FileDescriptorfd, long offset, long length)
        解释:无返回值,设置多媒体数据来源【根据 FileDescriptor】
      • 方法:setDataSource(FileDescriptorfd)
        解释:无返回值,设置多媒体数据来源【根据 FileDescriptor】
      • 方法:setDataSource(Contextcontext,Uriuri)
        解释:无返回值,设置多媒体数据来源【根据 Uri】
      • 方法:setDisplay(SurfaceHoldersh)
        解释:无返回值,设置用 SurfaceHolder 来显示多媒体
      • 方法:setLooping(boolean looping)
        解释:无返回值,设置是否循环播放
      • 事件:setOnBufferingUpdateListener(MediaPlayer.OnBufferingUpdateListenerlistener)
        解释:监听事件,网络流媒体的缓冲监听
      • 事件:setOnCompletionListener(MediaPlayer.OnCompletionListenerlistener)
        解释:监听事件,网络流媒体播放结束监听
      • 事件:setOnErrorListener(MediaPlayer.OnErrorListenerlistener)
        解释:监听事件,设置错误信息监听
      • 事件:setOnVideoSizeChangedListener(MediaPlayer.OnVideoSizeChangedListenerlistener)
        解释:监听事件,视频尺寸监听
      • 方法:setScreenOnWhilePlaying(boolean screenOn)
        解释:无返回值,设置是否使用 SurfaceHolder 显示
      • 方法:setVolume(float leftVolume, float rightVolume)
        解释:无返回值,设置音量
      • 方法:start()
        解释:无返回值,开始播放
      • 方法:stop()
        解释:无返回值,停止播放

        4、完整音乐播放例子演示

         

        实现的功能:

        1.暂停/播放、下一首/上一首,点击某一首时播放

        2.支持拖动进度条快进

        3.列表排序

        4.来电话时,停止播放,挂断后继续播放

        5.可在后台播放

         

        界面:

        main.xml:

        
        
           


        
        

        item.xml:

         

          
          
              
         

         

        MainActivity:
        
        
        import java.io.File; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; import Android.app.Activity; import Android.content.BroadcastReceiver; import Android.content.Context; import Android.content.Intent; import Android.content.IntentFilter; import Android.media.MediaPlayer; import Android.media.MediaPlayer.OnCompletionListener; import Android.os.Bundle; import Android.os.Environment; import Android.os.Handler; import Android.telephony.PhoneStateListener; import Android.telephony.TelephonyManager; import Android.view.View; import Android.widget.AdapterView; import Android.widget.Button; import Android.widget.ListView; import Android.widget.SeekBar; import Android.widget.SimpleAdapter; import Android.widget.TextView; import Android.widget.AdapterView.OnItemClickListener; import Android.widget.SeekBar.OnSeekBarChangeListener; public class MainActivity extends Activity { private TextView nameTextView; private SeekBar seekBar; private ListView listView; private List> data; private int current; private MediaPlayer player; private Handler handler = new Handler(); private Button ppButton; private boolean isPause; private boolean isStartTrackingTouch; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); nameTextView = (TextView) findViewByI
        
        
        
         
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Android--音乐播放器

相关文章

  • 2017-05-26Android 优秀的开源框架整理,android开源框架
  • 2017-05-26首页2--动态自定义圆形进度条,首页2--圆形进度条
  • 2017-05-26android布局不带参数返回,android布局参数
  • 2017-05-26关于在R中无法引用自己的xml文件,引用xml文件
  • 2017-05-26androd 获得wifi列表,androdwifi列表
  • 2017-05-26Android--Activity在跳转时携带数据
  • 2017-05-26项目总结手机号+短信验证码登录,手机号验证码
  • 2017-05-26三星手机拍照,从图库选择照片旋转问题完美解决,三星手机图库
  • 2017-05-26Android性能优化之Bitmap的内存优化
  • 2017-05-26Android一个ListView列表之中插入两种不同的数据,androidlistview

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • Androidstudio中导入内部依赖模块总结,androidstudio模块
    • Android 第一http请求访问慢,以后就快了的问题,android请求
    • android:descendantFocusability用法,
    • 初识react native遇到的问题,reactnative
    • [android] 手机卫士保存安全号码,android卫士
    • 深入理解RCU实现
    • 2.5.4 AutoCompleteTextView(自动完成文本框)的基本使用
    • DataPicker以及TimePicker显示时间和日期(屏幕上显示),datepicker日期格式
    • Android开发3:Intent、Bundle的使用和ListView的应用 、RelativeLayout(相对布局)简述(简单通讯录的实现),relativelayout
    • Android开发艺术探索学习笔记(十一),android艺术探索

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有