zoukankan      html  css  js  c++  java
  • 播放音频

    本文旨在实践Android中播放声音的两种常见方法;

    项目地址:https://github.com/avnewu/sounddemo

    一.

    播放短暂的声音如爆炸声警告音等;

    使用SoundPool类,声音文件调入内存中,播放响应快,但是占用内存;

            AudioManager manager = (AudioManager) getSystemService(AUDIO_SERVICE);
            float maxvolume = manager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
            float currentVolume = manager.getStreamVolume(AudioManager.STREAM_MUSIC);
            final float volume = currentVolume / maxvolume;
            sound1Btn.setOnClickListener(new View.OnClickListener()
            {
                public void onClick(View v)
                {
                    soundPool.play(soundid, volume, volume, 1, 0, 1);
                }
            });

    二.

    播放时间较长的背景音乐,文件存储在SD卡上;

    使用MediaPlayer类,比前者麻烦一点,遵循生命周期,

    1.实例化MediaPlayer;

    2.设置音频资源;

    3.为播放音频做准备;

    4.播放;

                    try
                    {
                        mediaPlayer.setDataSource("/sdcard/dl.mid");
                    } catch (Exception e)
                    {
                        e.printStackTrace();
                    }
                    try
                    {
                        mediaPlayer.prepare();
                    } catch (Exception e)
                    {
                        e.printStackTrace();
                    }
                    if (isPlaying)
                    {
                        mediaPlayer.pause();
                        sound2Btn.setText("Play a music on SDcard");
                        isPlaying = false;
                    } else
                    {
                        mediaPlayer.start();
                        mediaPlayer.setLooping(true);
                        sound2Btn.setText("Click again to pause ");
                        isPlaying = true;
                    }
    作者:小文字
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    opensuse字符和图形界面
    Eclipse编辑器小手段
    切换运行时用户以及用户组
    PHP安装和配置
    Linux程序资源限制简述
    test2234343
    找回Svn和Git不见的文件图标
    SourceInsight使用技巧
    Javascript数组使用方法
    MySQL安装和配置
  • 原文地址:https://www.cnblogs.com/avenwu/p/2667905.html
Copyright © 2011-2022 走看看