草庐IT

ios - 如何即时更改 MIDI TEMPO? [CoreMIDI] iOS

我已经将带有MIDI音符的MusicTrack设置到MusicSequence中,正在使用MusicPlayer播放。当我试图通过使用调整节奏时,问题就来了;MusicTrackNewExtendedTempoEvent(musicTrack,0.0,newBPM);显然,这应该会更改正在播放的MusicTrack中的TempoEvent,但事实并非如此。知道为什么会发生这种情况吗? 最佳答案 您首先必须从速度轨道中删除所有速度事件。staticvoidremoveTempoEvents(MusicTracktempoTrack){

android - AudioTrack 可以播放 MIDI 文件吗?

我想知道AudioTrackAndroid可以播放MIDI文件吗?如果没有,哪个图书馆可以。因为我想要Android库可以为我的应用播放和控制MIDI文件的速度。 最佳答案 从这里检查Android支持的媒体格式AndroidMediaSupport.MIDI播放支持内置于Android中。使用JetPlayer播放MIDI文件在android中非常方便。要播放MIDI文件,您必须编写以下代码:JetPlayerjetPlayer=JetPlayer.getJetPlayer();jetPlayer.loadJetFile("/sd

android - 在 Android 上通过 USB 发送 MIDI 消息

我想在android上制作一个应用程序,通过USB将MIDI消息发送到计算机,以便能够控制音乐软件,如Cubase、FL、Reason等...Windows上的音乐软件会自动识别硬件MIDIController(例如键盘)。我猜是因为他们使用了音乐软件直接识别的通用MIDI协议(protocol)。他们不需要自己的司机。我希望能够将我的手机/平板电脑用作MIDIController,而无需在计算机上安装五线谱(就像使用硬件Controller一样)。Android开发人员有一个演示代码可以通过USB控制导弹发射器玩具。如果我使用相同的技术发送遵循MIDI协议(protocol)的消息,

android - 使用软件合成器将MIDI文件转换为原始音频

我正在尝试直接从我的Android应用程序动态生成一个小的MP4音频和视频文件。我最初的攻击计划:用户输入一些基本歌曲数据(和弦进行等),然后该应用程序会构建MIDI文件。系统为每个和弦建立和弦图,并使用MIDI阅读器生成定时与MIDI一起的动画帧数组将MIDI转换为原始PCM音频数据将原始音频应用于动画帧-并将音频和视频帧编码为MP4使用标准的播放控件将生成的MP4视频提供给用户。该应用程序已经根据用户输入(包括速度,乐器,音符等)构建了MIDI文件。该部分易于完成,并且MIDI文件已正确生成。此MIDI可以从Android的MediaPlayer中很好地播放。(步骤1)通过回读MI

android - Android : Possible? 上的动态 Midi 生成和播放

奇怪的是,我发现Android不支持Midi。唯一接近的是Jetplayer,但这只需要一个现有的.jet文件。我想动态生成一个具有一定间隔的midi文件并播放它。我什至考虑过手动创建一个带有音调的.jet文件,然后用jet播放器将其移调,但它会将移调限制为-12、+12。这对我来说不太好。Android上也有一个ToneGenerator,但它仅限于预定义的音调,无法移调。有谁知道如何在Android上实现midi的生成和播放? 最佳答案 也许thisPragmaticProgrammerthread可能会感兴趣。

android - 适用于 Android 的 Midi 库

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion一直在谷歌搜索android的midi库。似乎没有什么希望。有人知道一些适用于Android的midi库吗?

c - 使用 Windows MIDI API 时出现问题(播放时没有回调)

我有一个USB连接的MIDI键盘。它在其他应用程序中工作正常。但是,在我自己的程序中却没有。midiInOpen()调用通过,我收到一个回调(来自打开设备),但在弹奏键盘时我没有收到任何回调。通过使用midiInGetDevCaps(),我可以看到我使用的是正确的设备。有什么想法吗?其他(商业)应用程序可以使用其他一些API吗?staticvoidCALLBACKmyFunc(HMIDIINhandle,UINTuMsg,DWORDdwInstance,DWORDdwParam1,DWORDdwParam2){printf("Callback!"\n);}intmain(){unsig

c# - Windows MIDI流和SysEx

我正在使用来自C#的古老WindowsMultimediaAPI(来自WinMM.dll的midiXyz函数)。以非流模式(midiOutOpen)打开MidiOut设备/端口后,使用(midiOutLongMsg)发送SysEx可以正常工作。在流模式(midiStreamOpen)中打开MidiOut设备/端口后,使用midiOutLongMsg发送SysEx不起作用。而是,midiOutLongMsg失败,错误为MMSYSERR_NOTSUPPORTED(=8)。错误文本为:“不支持此功能。使用功能功能来确定驱动程序支持哪些功能和消息。”但是,根据MSDN,(midiOutLong

c# - 如何在 Windows 10 UWP 应用程序中播放 (MIDI) 声音?

我刚刚开始使用VisualStudioCommunity2015,并尝试创建一个简单的虚拟钢琴应用程序,在单击时播放相应的键。我已经有了按键的布局,但我找不到任何关于如何发出实际声音的信息。我正在使用VisualC#,显然System.Media命名空间不适用于应用程序,所以我用尽了所有可能性。是否有UWP应用的替代方案? 最佳答案 您可以使用Windows.Device.Midi播放。这是链接:https://msdn.microsoft.com/en-us/windows/uwp/audio-video-camera/midi

windows - 模拟 MIDI 设备 - Windows

我需要一些有关Windows编程、MIDI和WDM的建议。我正在尝试编写一个小应用程序,它将位于系统托盘中,并作为MIDI输入/输出设备向系统公布,以便MIDI程序可以发送给它,并将消息转换为不同的格式。我一直在阅读Cant的WDM书并搜索有关编写设备驱动程序的信息,但不知道我是否走在正确的道路上。我还不知道如何:-a)将我的驱动程序注册为具有MIDI功能(我是否在注册表中对它进行引用并让操作系统将MIDI调用定向到dll中的功能?)b)通过我的驱动程序将MIDI数据直接传送到我的应用程序,它可能太大而不能作为驱动程序本身。任何关于从哪里开始的建议都将不胜感激。谢谢,皮特