首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android声音到扬声器

android声音到扬声器
EN

Stack Overflow用户
提问于 2012-09-02 17:39:46
回答 4查看 2K关注 0票数 3

在我的虚拟安卓应用程序上,我试图复制音频播放器的功能。我要处理的文件是一些不太长的ogg文件: 2-3秒。

问题是文件的容量太小了。我想把音量调大,但我不知道怎么做。在我的应用程序中,播放声音的音量相当于电话中的音量。当我使用扬声器模式时,我想将音量增大到语音呼叫的音量。

代码语言:javascript
复制
    AssetFileDescriptor afd;

    try {
        afd = getAssets().openFd(strPlayFileName);
        mPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());

        mPlayer.prepare();
        afd.close();
        mPlayer.start();
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

这就是播放我的ogg文件的代码。欢迎任何反馈。

EN

回答 4

Stack Overflow用户

发布于 2012-09-10 21:02:11

MediaPleyer允许卷操作。您可以尝试使用setVolume()方法,看看它是否提供了所需的结果。您可以获得有关此方法here的更多信息。

如果这不能给你想要的结果,我建议你使用一些免费的音频编辑器放大源的声音输出,比如audacity。

票数 1
EN

Stack Overflow用户

发布于 2012-09-15 17:12:10

代码语言:javascript
复制
private AudioManager audio;

audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 


@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        switch (keyCode) {
        case KeyEvent.KEYCODE_VOLUME_UP:
            audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                    AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
            return true;
        case KeyEvent.KEYCODE_VOLUME_DOWN:
            audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                    AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
            return true;
        default:
            return false;


     }
}

试试这个..。

票数 1
EN

Stack Overflow用户

发布于 2012-09-11 20:18:42

如果我对你的问题理解正确的话,你想给媒体增加增益,即以超过100%的音量播放它们。一种方法是使用JB中的新功能。我自己还没有玩过这个游戏,但它肯定可以从解码器获得一个缓冲区,并将缓冲区中的值与您的增益相乘,然后将其传递给播放。你可以找到更多信息here

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12234890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档