目录前言 1.AudioTrack2.用例介绍2.1过程2.2数据加载模式2.3音频流的类型2.4Buffer分配和Frame的概念3.AudioTrack(Java空间)分析3.1AudioTrack的构造3.2AudioTrackJniStorage分析3.2.1 共享内存介绍3.2.2MemoryHeapBase和MemoryBase类介绍3.2.3play和write的分析3.2.4release的分析3.2.5AudioTrack(Java空间)的分析总结4.AudioTrack(Native空间)分析4.1 newAudioTrack和set分析4.1.1 IAudioTrack
我正在尝试用C#(VS2008)制作一个winform应用程序,它可以加载mp3(其他格式也不错,但至少是mp3)并且能够在不影响音调的情况下调整播放速度(速度)。我真的不需要任何其他音频效果。我尝试使用DirectShow,但它似乎不提供时间拉伸(stretch)功能。我能够合并irrklang但这似乎也没有时间拉伸(stretch)能力。所以现在我转到了SoundTouch.这当然有能力,但我不清楚如何在C#中实现。几天后,我所完成的就是在SoundTouchDLL上使用DLLImport,并且能够成功检索版本号。在这一点上,我什至不确定我是否可以用SoundTouch做我想做的事
我正在读取来自麦克风的原始波流。(这部分工作,因为我可以将它发送到扬声器并得到很好的回声。)为简单起见,假设我想检测波形数据中的DTMF音调。实际上我想检测任何频率,而不仅仅是DTMF中的频率。但我始终知道我在寻找哪个频率。我已经尝试通过FFT运行它,但如果我想要高精度的检测(假设它只存在20毫秒),它似乎不是很有效。我可以将其检测到大约200毫秒的精度。关于算法,我有哪些选择?是否有任何.Net库? 最佳答案 您可能想查看Goertzelalgorithm如果您正在尝试检测特定频率,例如DTMF输入。有一个C#DTMFgenera
如何使用C#在WinForms中播放声音? 最佳答案 要简单地播放声音,无需交互,您可以使用System.Media.SoundPlayer:System.Media.SoundPlayerplayer=newSystem.Media.SoundPlayer();player.SoundLocation="soundFile.wav";player.Play(); 关于c#-如何在WinForms中播放声音?,我们在StackOverflow上找到一个类似的问题:
这是一个看似简单的问题:在Windows窗体中异步播放嵌入式.wav资源文件的正确方法是什么?尝试#1:varplayer=newSoundPlayer();player.Stream=Resources.ResourceManager.GetStream("mySound");player.Play();//NotethatPlayisasynchronous好:不会阻塞UI线程差:SoundPlayer和嵌入式资源流不是立即处置。尝试#2:using(varaudioMemory=Resources.ResourceManager.GetStream("mySound")){usi
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:CreatingsineorsquarewaveinC#我想生成声音。要么是这样的:MakeSound(frequency,duration);或者:MakeSound(MyArrayOfSamples);我找到了一个叫做:Microsoft.Directx.DirectSound的东西,但是我读到它已经停产了。我找不到它作为VisualStudio(2010)中引用的选项。我找到了thislink根据我读过的内容,应该包括它,但我犹豫要不要使用2006年的东西,因为它可能不再受支持。和thisone说它适用
关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求提供代码的问题必须表现出对所解决问题的最低限度理解。包括尝试过的解决方案、为什么它们不起作用,以及预期结果。另请参阅:StackOverflowquestionchecklist关闭9年前。Improvethisquestion我想从我的声卡(输出)录制音频。我找到了CSCoreoncodeplex但我找不到任何例子。有谁知道如何使用库从我的声卡录制音频并将录制数据写入硬盘?或者有人知道关于该库的一些教程吗?
有人知道如何使用C#以编程方式使WindowsXP音量静音吗? 最佳答案 为P/Invoke声明:privateconstintAPPCOMMAND_VOLUME_MUTE=0x80000;privateconstintWM_APPCOMMAND=0x319;[DllImport("user32.dll")]publicstaticexternIntPtrSendMessageW(IntPtrhWnd,intMsg,IntPtrwParam,IntPtrlParam);然后使用这一行来静音/取消静音。SendMessageW(thi
通过navigator.getUserMedia访问用户的麦克风非常简单。但是,如果我使用的是移动浏览器并想从远处拾取音频(例如使用“免提”模式)怎么办?我将如何实现这一目标?似乎有原生应用可以实现这一点,但网络音频呢?这样做的目的是使用DTMF在设备之间发送消息。我已经用我的笔记本电脑实现了这一点,因为它的麦克风可以从很远的距离录制周围的音频,但是我可以使用的任何手机似乎只能在“喉舌”附近录制音频,所以我必须将手机非常靠近源发言人,即使有很小的机会收到消息。这违背了目的,除非我能让移动麦克风从远处拾取音频。编辑:关于距离,我的意思是大于几英尺,而不是仅仅几厘米。环境声音,而不是麦克风
我正在尝试使用SoundManager2播放多个音频文件到目前为止,这是我能找到的关于该站点的唯一可用示例。soundManager.setup({url:'/path/to/swf-files/',onready:function(){varmySound=soundManager.createSound({id:'aSound',url:'/path/to/example.mp3'});mySound.play();},ontimeout:function(){//Hrmm,SM2couldnotstart.MissingSWF?Flashblocked?Showanerror,e