我需要一些建议,关于哪种IPC和哪种消息队列类型最适合我的特定环境(生产者/消费者,优先级和计时等)。
我正在用C for Linux (Ubuntu)开发一个实时音频/图形应用程序,它使用OpenGL和SDL图形、ALSA音频(MIDI)、POSIX pthread和外围硬件的定制库。当前存在用于与外围设备通信的主线程和线程。主线程将主图形绘制周期与控制音频记录/回放(或者更准确地说,为循环记录/回放设置的MIDI事件)的代码相结合。
我需要将音频分离到自己的线程中,因为主线程当前不是严格计时的(即,根据从一个迭代到下一个迭代绘制的内容,主绘制周期并不总是花费相同的时间来完成迭代),这阻止了
IE11不支持播放opus音频文件。这就是我使用ogv.js javascript库在IE11中播放它的原因。这个库将音频数据流到IE11的内部flash播放器并播放。问题是,在并行播放音频文件时,我必须不断地用光标重新绘制整个图像,以指示正在播放的音频的位置。Javascript是一种单线程脚本语言,所以我不能同时执行这两个任务。
我按以下方式调用函数。
var chart = new Chart();
var player = new OGVPlayer({});
//在chrome和firefox中我使用var player = document.createElement('a
我想在单击按钮时创建一个音频元素,播放音频,然后在播放完成后删除音频,这是我的代码:
var x = document.getElementById("myAudio");
function playAudio() {
x.play();
}
<audio id="myAudio">
<source src="https://padlet-uploads.storage.googleapis.com/446844750/ca57ed6d83fff9890b4c9f2356e4e0c0/Single_Firework
我使用这段代码在用C#编写的WPF应用程序中播放音频(.wav)文件。这是我播放音频文件的代码:
Uri uri = new Uri(@"C:\Users\naseem\source\repos\ChatBotAssistant\ChatBotAssistant\bin\Debug\Speech.wav");
MediaPlayer player = new MediaPlayer();
player.Open(uri);
player.Play();
没有错误也没有异常,但它不播放音频文件。