有人可以告诉我如何在 不 使用声音库或合成器的 情况下 控制MIDI音序器的音量吗?
我想先使MIDI淡出,然后依次继续下一个MIDI
if(midiplay)
{
midi = s + savereq;
try {
//System.out.println("Play MIDI " + midi);
if (musicSr != null)
{
/* This is where I want it to fade out*/
musicSr.stop(); //stop sequencer
musicSr.close(); //close sequencer
}
musicSr = null;
musicS = null;
File music = new File(midi);
if(music.exists())
{
musicS = MidiSystem.getSequence(music);
}
// Create a sequencer for the sequence
musicSr = MidiSystem.getSequencer();
musicSr.open();
musicSr.setSequence(musicS);
musicSr.setLoopCount(musicSr.LOOP_CONTINUOUSLY);
musicSr.start();
} catch (Exception ex) {
ex.printStackTrace();
}
midiplay = false;
}
在每个轨道中,对于轨道中使用的每个频道,调用add在适当的时间位置添加多个事件:
track.add(new MidiEvent(
new ShortMessage(ShortMessage.CONTROL_CHANGE, channel, 7, volume),
tick));
也许从音轨中删除其他音量变化事件(这会干扰您的淡出效果);
我正在使用OpenSL ES播放音频剪辑。在我的代码中,我有 在插入耳机时强制音频通过扬声器。它工作正常,但我无法控制音量。在播放剪辑时按下音量按钮会使音量搜索栏出现并移动,但音量不会改变。播放前调用或似乎没有帮助。更改我的应用程序之外的任何音量(例如在Android设置中)不会影响播放音量。当没有应用路由时,音量控制在耳机和扬声器上都可以正常工作。 我还尝试使用在另一个答案中找到的代码将音频发送
1.1.1. 音量控制 1.1.1. 音量控制 这是一个音量控制的接口,可以控制整体音量,也可以控制单个通道的音量。下面是头文件: #include <vol_ctrl/volumecontrol.h> 除了要 include 头文件外,还需要链接 -lrkvolumecontrol.so。 API int set_all_volume(int vol); // 设置整体音量接口,参数vol:
fn fn 待测
我现在找了一段时间,想做什么都找不到答案。 我想播放一个midi文件,并在播放时在屏幕上显示音符。当一个音符停止播放时,它应该从屏幕上消失。 我可以用音序器播放midi,但不知道如何让音符播放,或者何时停止播放音符。 我研究过ControllerEventListeners和MetaEventListeners,但仍然不知道如何做到这一点。 任何帮助都将不胜感激。
问题内容: 如何使用Java增加输出的WAV音频流的音量?我在使用各种Java TTS引擎和合成语音的输出量时遇到问题。有可以用来调高音量的API调用或doo- hickey.jar吗? 问题答案: 如果您使用的是Java Sound API,则可以使用MASTER_GAIN控件设置音量。
开始播放音乐和音效后,你可能需要对它们进行一些控制,比如暂停、停止、恢复。这很容易完成,下面介绍: 暂停 #include "SimpleAudioEngine.h" using namespace CocosDenshion; auto audio = SimpleAudioEngine::getInstance(); // pause background music. audio->pa