天道酬勤,学无止境

midi-instrument

Java sound api - 扫描midi设备(Java sound api - Scanning for midi devices)

问题 我正在开发一个使用 javax.sound.midi 库从 midi 硬件接收 midi 事件的 java 项目。 在文档中,它说MidiSystem.getMidiDeviceInfo()返回所有连接的 midi 硬件的列表。 它对我有用,但问题是,它只能工作一次。 第一次实际扫描设备需要一点时间,但每次之后,即使连接了新设备,它也会立即返回相同的列表。 有没有办法强制它重新扫描? 如果应用程序重新启动,它将重新扫描,但我不希望我的用户在连接新的 MIDI 设备时必须重新启动。 顺便说一句,我使用的是 Mac OS X ......有人指出,不同操作系统的行为可能会有所不同。 回答1 MidiSystem.getMidiDeviceInfo()获取完整的提供者列表,并从每个提供者中提取设备信息。 MIDIs 提供者列表是通过静态方法getProviders()从 JDK 底层类 com.sun.media.sound.JDK13Services 中恢复的 public static synchronized List getProviders(Class serviceClass)获取一个包含所请求服务的提供者的已安装实例的列表。 提供者列表在 cachingPeriod 给定的时间段内缓存。 在此期间,为相同类型的提供程序返回相同的 List 实例。 在此期间之后

2021-06-24 09:32:44    分类:技术分享    java   audio   midi   midi-instrument

Java sound api - Scanning for midi devices

I'm working on a java project that receives midi events from midi hardware using the javax.sound.midi library. In the documentation, it says that MidiSystem.getMidiDeviceInfo() returns a list of all connected midi hardware. It works for me, but the problem is, it only works once. It takes a moment the first time to actually scan for the devices, but each time after that it will immediately return that same list even if new devices have been connected. Is there a way to force it to rescan? It will rescan if the application is restarted, but I don't want my users to have to restart if they

2021-05-24 19:44:30    分类:问答    java   audio   midi   midi-instrument

将Midi转换为mp3(Convert midi to mp3)

问题 我有一个midi文件,我想在网页上播放该文件,目前我正在使用midi.js播放器进行播放,但在移动浏览器上无法正常工作。 请指导我如何播放该文件,否则如何播放Midi或将其转换为mp3 这是我的代码 $data = fopen ($midi, 'rb'); $size= filesize($midi); $contents = fread ($data, $size); fclose($data); $encoded= base64_encode($contents); $encode = "'data:audio/midi;base64,".$encoded."=='"; 最后将base64值传递给midi.js 回答1 猜测您在Linux机器上...最简单的方法是胆怯地播放它并通过管道输出ffmpeg: timidity song.mid -Ow -o - | ffmpeg -i - -acodec libmp3lame -ab 64k song.mp3 回答2 我在MIDI.js中遇到了类似的问题,无法在移动浏览器中工作。 原来,我已经包含了ogg文件,但缺少了mp3(由于某些原因,MIDI.js仅提供了syng_drum的ogg版本)。 可以在https://github.com/gleitz/midi-js

2021-05-18 11:03:44    分类:技术分享    php   midi   midi-instrument

Convert midi to mp3

I have got one midi file and i want to play that file on web page, currently i am using midi.js player for playing but it is not working on mobile browsers. Please guide me how to play that file or else how can i play midi or convert it into mp3 Here is my code $data = fopen ($midi, 'rb'); $size= filesize($midi); $contents = fread ($data, $size); fclose($data); $encoded= base64_encode($contents); $encode = "'data:audio/midi;base64,".$encoded."=='"; and finally passing base64 value to midi.js

2021-04-27 04:39:39    分类:问答    php   midi   midi-instrument