• 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 > 安卓第十六天笔记-音频与视频播放,安卓第视频播放

安卓第十六天笔记-音频与视频播放,安卓第视频播放

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

网友通过本文主要向大家介绍了第十六天,夜钓第十六天直播,功夫世界第十六天,第十六天英文,排卵第十六天白板等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

安卓第十六天笔记-音频与视频播放,安卓第视频播放


安卓第十六天笔记-音频与视频播放

音频与视频播放

1.音频 播放应用资源中的音乐

应用中的音乐一般放在res/raw目录下

/**
 * 播放应用资源中的音乐
 * 
 * @param v
 */
public void player1(View v) {
    // 设置播放数据源
    MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.gm);
    // 不需要准备,create,创建完成直接可以使用播放
    mediaPlayer.start();

}

 

2.播放本地其它地方的音乐文件如SD卡上的

/**
 * 播放系统中的音乐
 * 
 * @param v
 */
public void player2(View v) {
    //文件地址
    File file =new File(Environment.getExternalStorageDirectory(),"man.mp3");
    //转换为uri
    Uri uri = Uri.fromFile(file);
    // 设置播放数据源
    MediaPlayer mediaPlayer = MediaPlayer.create(this,uri);
    // 不需要准备,create,创建完成直接可以使用播放
    mediaPlayer.start();

}

 

以上两个方法用起来非常方便,便这两个方法每次都会返回新创建的Mediaplayer对象,同时也不方便控件播放状态.如果需要播放多个音频,使用这种方法就不方便.

可以使用MedaiPlayer.setDataSource()方法来装载指定的音频文件

3.使用MedaiPlayer.setDataSource()来播放音乐

播放

private MediaPlayer mediaPlayer ;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mediaPlayer = new MediaPlayer();
}


public void player(View v) {
    try {
        //初始化
        mediaPlayer.reset();
        //设置资源
        mediaPlayer.setDataSource("/mnt/sdcard/man.mp3");
        //准备声音本地
        mediaPlayer.prepare();
    } catch (Exception e) {
        e.printStackTrace();
    }
    //播放
    mediaPlayer.start();
}

 

暂停与继承播放

    private void init(){
    mediaPlayer = new MediaPlayer();
}
public void player(View v) {
    try {
        init();
        //初始化
        mediaPlayer.reset();
        //设置资源
        mediaPlayer.setDataSource("/mnt/sdcard/man.mp3");
        //准备声音本地
        mediaPlayer.prepare();
    } catch (Exception e) {
        e.printStackTrace();
    }
    //播放
    mediaPlayer.start();
}

/**
 * 暂停与继承播放
 * @param v
 */
public void pause(View v){
    //判断状态
    if(mediaPlayer!=null&&mediaPlayer.isPlaying()){
        //暂停
        mediaPlayer.pause();
    }else if(mediaPlayer!=null) {
        mediaPlayer.start();
    }
}
/**
 * 停止
 * @param v
 */
public void stop(View v){
    //判断状态
    if(mediaPlayer!=null){
        //停止播放资源
        mediaPlayer.stop();
        mediaPlayer.release();
        mediaPlayer=null;
    }
}

 

4.播放网络音乐

    private void init(){
        mediaPlayer = new MediaPlayer();
    }
    public void player(View v) {
        //本地Tomcat服务器的地址
        String url="http://188.188.3.79:8080/itest/gm.mp3";
        //播放,网络音乐

        try {
            init();
            //初始化 http://188.188.3.79:8080/itest/gm.mp3
            mediaPlayer.reset();
            //设置资源
            mediaPlayer.setDataSource(url);

            final ProgressDialog dialog = ProgressDialog.show(this, "加载中", "拼命加载中...........");
            //准备声音远程音乐
            mediaPlayer.prepareAsync();

            /**
             * 设置监听器什么时候缓冲,准备好音乐,
             */
            mediaPlayer.setOnPreparedListener(new OnPreparedListener() {


                @Override
                public void onPrepared(MediaPlayer mp) {
                    //准备好了,就对话框消失
                    dialog.dismiss();
                    //开始播放
                    mediaPlayer.start();
                }
            });
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

 

添加权限

 <uses-permission android:name="android.permission.INTERNET"/>

 

5.一些音乐特效

1,2,3只要调用它们的静态方法create()方法创建相应的实例,

然后调用穹们的isAvailabel()方法判断是否可用,

再调用setEnable(boolean enabled)方法启用相应的效果即可

        /*
定义系统回声控制器
 */
private void setAcousticEchoCanceler(){
    mAcousticEchoCanceler = AcousticEchoCanceler.create(mPlayer.getAudioSessionId());
    if(mAcousticEchoCanceler.isAvailable()){
        //设置取消回声功能
        mAcousticEchoCanceler.setEnabled(true);
    }
}
 /*
自动增益控制器
 */
 private void setAutomaticGainControl(){
    mAutomaticGainControl = AutomaticGainControl.create(mPlayer.getAudioSessionId());
     if(mAutomaticGainControl.isAvailable()){
         //启用自动增益功能
         mAutomaticGainControl.setEnabled(true);
     }
 }
/*
噪音压制控制器
 */
private void setNoiseSuppressor(){

    mNoiseSuppressor = NoiseSuppressor.create(mPlayer.getAudioSessionId());
    if(mNoiseSuppressor.isAvailable()){
        //启用噪音压制功能
      



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

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

  • 安卓第十六天笔记-音频与视频播放,安卓第视频播放

相关文章

  • 2017-05-26我的android学习经历12,android学习经历12
  • 2017-05-26近年RFC文档专题及对应编号 选编 (持续更新)
  • 2017-05-26Android--播放Gif的取巧办法,android--gif取巧
  • 2017-05-26Android项目:手机安全卫士(16)—— 复杂 ListView浅析
  • 2017-05-26android设计的布局在阿拉伯语下界面错乱的解决方法,android阿拉伯语
  • 2017-05-26Android Log,androidlog
  • 2017-05-26ViewPager和Fragment的组合使用,viewpagerfragment
  • 2017-05-26Android:让WebView支持&lt;input type=”file”…&gt;元素,androidwebview
  • 2017-05-26Android 性能分析工具之 TraceView 使用说明
  • 2017-05-26Android小项目:计算器

文章分类

  • 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的动画类型
    • ListView中响应item的点击事件并且刷新界面,listviewitem
    • XListView,xlistview用法
    • Play 2D games on Nexus 6P running Android N7.1.1 with Daydream View VR headset,n7.1.1headset
    • 常用的adb命令,常用adb命令
    • Android系统 应用图标显示未读消息数(BadgeNumber) 桌面app图标的角标显示
    • Android中使用SDcard进行文件的读取,androidsdcard
    • redis lru实现策略
    • 自定义控件详解(一):Paint类与Canvas类,paintcanvas

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

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