jjzjj

c++ - 将原始数据输出到扬声器

作为背景知识,我是一个相当高级的C++程序员。在这一点上,我想尝试一下声音。为了便于理解,我不想使用库来加载和播放文件,而是想弄清楚如何自己实际执行此操作。对于此应用程序,我想读入一个.wav文件(我已经准备好该部分),然后将该数据输出到扬声器。如何将文件中的波形或数据推送到计算机上的扬声器?顺便说一句,我在Windows上。 最佳答案 您可以阅读thisarticle有关如何设置音频设备以及如何将数据流式传输到设备以在Windows上播放的信息。如果使用此库对您来说太高级,并且您想更深入地编写自己的WAV文件解码并将其输出到声卡,

windows - 用于删除长度超过 3 秒的所有 .wavs 的批处理文件

我正在创建一个.bat来删除目录中长度超过3秒的所有.wav,我发现thisquestionthatcanbeusedtodeleteall.mp3's/.wav'sunder3secondsusingMediaInfo,您将如何更改它以删除大于3秒的文件而不是3秒?少于3秒?您必须删除'echo'才能执行@echooffset"exe=MediaInfo.exe"for/r%%ain(*.wav)do("%exe%"-f"%%a"|find"Duration"|findstr/r"00:00:0[210]">nul&&echodel"%%a")pause使用单个文件输出运行媒体信息:

c++ - 如何使用 PlaySound() 或任何基本函数/方法同时在 C++ 中播放超过 1 个 .wav 声音?

我正在尝试制作一个游戏,我需要同时播放许多声音我知道v.basic或者更确切地说只知道func。PlaySound()运行.wav声音。问题是使用SND_ASYNC我不能同时播放多个声音,但首先播放的声音会在中间跳过并播放下一个声音。有什么方法(简单易懂)可以同时播放多个声音吗? 最佳答案 Playsound不适用于混合声音。从本质上讲,它是一种较旧的技术,很容易被更新的技术超越。您可以使用DirectX用于游戏的声音开发(一个流行的选择)。我个人使用FMod因为它真的很容易使用。Hereisatutorialtogetyousta

c++ - 如何在 PlaySound 中将字符串作为 WAV 的名称传递?

代码:PlaySound((wavid.c_str()),NULL,SND_FILENAME|SND_ASYNC|SND_LOOP);两个错误:1SeverityCodeDescriptionProjectFileLineSuppressionStateError(active)argumentoftype"constchar*"isincompatiblewithparameteroftype"LPCWSTR"TheLocksmithc:\Users\DiMaggio\Documents\VisualStudio2015\Projects\TheLocksmith\TheLocksm

windows - FFMPEG 命令合并 WAV 文件和视频文件?

我使用Qt&OpenCV录制视频,使用QAudioInput将音频录制成wav格式。我想将它们组合成一个视频文件。我怎样才能做到这一点?我研究了很多,但似乎找不到完成此操作的命令。我同时使用Windows和Mac。 最佳答案 仅供引用,此操作似乎是通过命令行inthisthread完成的.由于您可以使用system()调用此命令,因此这种方法可能会变得很容易破解。但如果您仍然想以编程方式进行,我建议您看一下Dranger'sFFmpegtutorials.它提供了8个有趣的教程,展示了如何做简单的事情,从拍摄视频快照到更复杂的事情,

windows - 何时使用 Wave 可扩展格式?

我正在编写一个包括读取和写入波形文件的音频库,我了解三种可能的波形文件格式之间的差异,但不清楚在处理单声道或立体声PCM数据时何时使用可扩展格式。我一直在使用this作为我的主要引用,它澄清了何时使用可扩展格式的明显情况。但是,该链接提到如果PCM数据大于16位,则应使用可扩展格式,但是当我尝试使用Audacity导出24位或32位音频时,它们没有使用可扩展格式。我没有发现规范中有任何提及在这种情况下应该支持可扩展格式,或者是否所有文件都应该使用可扩展格式。现代图书馆甚至会支持旧格式吗?我是否应该将文件写入简化为在所有情况下都使用可扩展格式?更新:我找到了thisresource来自M

python - 以单个频率值转换小型 WAV 文件 (PYTHON)

我需要一个程序来将麦克风录制的音调转换为按键音。示例:如果有人用麦克风以400hz和600hz之间的频率唱歌,平均音调为550hz,那么我将平均频率存储在var'tom'中,然后按下键盘的“G”键。即使我是编程新手,我也搜索并想出了一种方法,通过在python语言中使用Audiopy,通过录制小的WAV文件,我可以读取这些文件并获得一个数字作为平均频率,并使用这个数字和一些ifs和elifs,按键(不难找到按键代码),在一个巨大的WHILE中,在程序运行时重复这个过程,所以我会有说话的过程,阅读谈话会产生的小文件,然后根据语调转换成按键。主要问题是我不知道如何转换我一直以单个平均频率录

c++ - 如何在 C++ 中播放 .WAV 声音

如何在简单的C++控制台应用程序中播放.WAV声音?我在WindowsXP上使用代码块。我需要最简单有效的方法。提前致谢:D顺便说一句:我可以同时播放2种声音吗?比如背景音乐和音效? 最佳答案 您可以将简单直接媒体层(SDL)库与SDL_Mixer库一起使用。http://content.gpwiki.org/index.php/SDL_mixer:Tutorials:Playing_a_WAV_Sound_File这是一个很好的教程:http://lazyfoo.net/SDL_tutorials/lesson11/index.p

c++ - mmioOpen 出现奇怪的文件未找到错误

我一直在研究XAudio2,但在mmioOpen函数中遇到了一些奇怪的问题由于某些原因,它似乎因MMIOERR_FILENOTFOUND而失败,即使该文件在那里,实际上该文件与我正在加载的其他文件位于同一目录中,这些文件工作正常...我用来测试的wav文件只是AugustSDK示例中的文件,如果我将名称复制到XAudio2BasicSound示例中,它们可以正常工作...在某些情况下,我实际上不得不将声音重命名为1.wav让他们打开...//"Counting.wav"doesnotworkSounds.append(Audio.Sound(L"c:/test/xaudio2/Coun

windows - 如何使用 Windows API 从麦克风录制 wav 声音?

如何使用WindowsAPI从麦克风录制wav声音? 最佳答案 您可以使用一系列waveInXXXWindowsAPI来录制音频。(即waveInOpen、waveInPrepareHeader、waveInAddBuffer、waveInStart...)这些将以“原始”PCM格式录制音频,然后您可以将其放入WAV文件中。(WAV文件基本上可以只是一个“包含”原始PCM音频的RIFF文件容器)。这是MSDN引用页:RecordingwithaWaveform-AudioDevice 关