在我的虚拟安卓应用程序上,我试图复制音频播放器的功能。我要处理的文件是一些不太长的ogg文件: 2-3秒。
问题是文件的容量太小了。我想把音量调大,但我不知道怎么做。在我的应用程序中,播放声音的音量相当于电话中的音量。当我使用扬声器模式时,我想将音量增大到语音呼叫的音量。
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文件的代码。欢迎任何反馈。
发布于 2012-09-10 21:02:11
MediaPleyer允许卷操作。您可以尝试使用setVolume()方法,看看它是否提供了所需的结果。您可以获得有关此方法here的更多信息。
如果这不能给你想要的结果,我建议你使用一些免费的音频编辑器放大源的声音输出,比如audacity。
发布于 2012-09-15 17:12:10
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;
}
}试试这个..。
发布于 2012-09-11 20:18:42
如果我对你的问题理解正确的话,你想给媒体增加增益,即以超过100%的音量播放它们。一种方法是使用JB中的新功能。我自己还没有玩过这个游戏,但它肯定可以从解码器获得一个缓冲区,并将缓冲区中的值与您的增益相乘,然后将其传递给播放。你可以找到更多信息here。
https://stackoverflow.com/questions/12234890
复制相似问题