Articles of audio

Linux下C ++audio捕获API的最佳实践?

我需要从麦克风function创build一个简单的录音C + +应用程序。 我不能说有没有足够的audioAPI来做到这一点! Pulse,ALSA,/ dev / dsp,OpenAL等。我的问题是目前的“最佳实践”API是什么? 脉冲似乎支持大多数现代发行,但似乎几乎没有文件。 OpenAL是否支持不同的发行版,还是太模糊了? 我错过了吗? 有没有一个简单的答案?

如何从用户空间注册一个虚拟卡alsa?

我正在从用户空间开发一个虚拟设备 (使用umview http://wiki.virtualsquare.org/wiki/index.php/UMview )所以,我需要注册我的设备到系统的声卡列表 (我从来没有在内核模块中使用alsa,所以我认为我需要调用snd_card_register()函数) 但我无法从用户空间find一种方法… 也许我可以写一个系统调用来做到这一点?

Android.mk为LibXtract

有人可以帮我写LibXtract的Android.mk或正确的directoin指向我吗? 这里是lib的源代码 – https://github.com/jamiebullock/LibXtract.git 或者mayby有一种方法可以在Android中使用linux生成的共享对象?

如何将audio文件(即时)转换为浏览器?

我希望能够将audio文件转换为MP3到用户浏览器上。 我使用的软件是:在Ubuntu系统上的Apache,PHP和FFMPEG。 这是我到目前为止的代码: <?php header("Content-Transfer-Encoding: binary"); header("Content-Type: audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3"); passthru('ffmpeg -i song.flac -v 0 -ab 320k -f mp3 -'); ?> 有了这个代码,只有audio的前几秒被转换,但是,当我注释掉头function,audio文件被完全转换,但所有的二进制数据传递到屏幕(而不是包装在浏览器的MP3播放器)。 有什么想法吗?

ALSA:防止扬声器不足的方法

我正在以非交错模式播放单声道audio。 当我将aduio数据写入扬声器时,我正在运行ALSA lib pcm.c:7339:(snd_pcm_recover) underrun occurred 这是我写的: printf("%d",snd_pcm_avail (spkhandle)); ret = snd_pcm_writen(spkhandle, pSpeakerBuf , framesIn18Millisec); if(ret < 0) { snd_pcm_recover(spkhandle, ret, 0); } 什么是不同的方式/参数configuration来防止运行ALSA? (我正在使用Linux 3.0,ARM) 编辑:这是一个使用snd_pcm_avail()API的缓冲区度量 snd_pcm_avail = 2304 << snd_pcm_writen call 1 success snd_pcm_avail = 2160 << snd_pcm_writen call 2 success snd_pcm_avail = 2016 << snd_pcm_writen call 3 success snd_pcm_writen error -32 Broken […]

使用本地系统调用在C ++中播放声音?

所以在Windows中,您可以使用PlaySound函数在C ++应用程序中播放MP3文件。 Mac OS X / Linux中有哪些类似的function可用? 如果你可以链接到一些示例Hello-Worldtypes的程序来演示这个,我也会很感激。

如何从Haskell代码跨平台播放audio文件

我正在编写一个在Linux,Windows和OS X上运行的Haskell命令行应用程序。我现在必须从中播放audio文件( .wav , .ogg和.mp3 )。 我将如何去实现一个function playAudioFile :: FilePath -> IO () 甚至更好 playAudio :: ByteString -> IO () 这只是在所有系统上工作? (我很乐意引用常用的命令行工具,也不介意将它们捆绑在Windows发行版上。)

模拟麦克风(虚拟麦克风)

我有一个问题,我需要“模拟”麦克风输出。 数据将通过networking传输,解码为PCM,基本上需要写入麦克风 – 然后其他程序可以读取/logging/不pipe。 我一直在读alsa,但是信息很稀less。 该文件插件貌似很有前途 – 我正在考虑将一个命名pipe道作为“infile”,然后我可以从我的应用程序传递数据。 我不能得到它的工作(VLC /大胆只是段错误)。 pcm.testing { type file slave { pcm { type hw card 0 device 0 } } infile "/dev/urandom" format "raw" } 有没有更好的方法来做到这一点? 对alsa插件(特别是文件插件)的任何build议?

PHP中的MP3和OGG标签

除了http://us3.php.net/manual/en/book.ktaglib.php和http://getid3.sourceforge.net/没有人知道任何其他方式从PHP与audio文件标签工作? 我需要读写它们,而KTagLib似乎对于这个工作来说有点太多了,而且也没有真正的获取文档,并且get3似乎只写了ID3v1标签。

如何在Python中播放声音而不中断播放音乐/其他声音

我正在python的计时器上工作,当等待时间结束时,这个计时器响起。 我使用下面的代码: from wave import open as wave_open from ossaudiodev import open as oss_open def _play_chime(): """ Play a sound file once. """ sound_file = wave_open('chime.wav','rb') (nc,sw,fr,nf,comptype, compname) = sound_file.getparams( ) dsp = oss_open('/dev/dsp','w') try: from ossaudiodev import AFMT_S16_NE except ImportError: if byteorder == "little": AFMT_S16_NE = ossaudiodev.AFMT_S16_LE else: AFMT_S16_NE = ossaudiodev.AFMT_S16_BE dsp.setparameters(AFMT_S16_NE, nc, fr) […]