我的WinXPSP3计算机上有两张声卡,我编写了一个C++应用程序,通过编辑以下注册表项来更改默认播放设备:regKey=Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Multimedia\SoundMapper",true);为了将第一或第二声卡用作默认播放设备,我的应用更改了“播放”键值。问题是当我更改默认设备时,应用程序仍然使用旧设备(程序启动时设置为默认设备)。如果更改后,我再次启动应用程序,一切正常,我可以使用“新的”默认播放设备。我如何为我的应用程序“告诉”我已经更改了默认设备?应用程序通过什么方式读取和存储启动时
如何使用Java在Windows媒体播放器中获取当前播放的歌曲?关于这个有很多问题,但答案在C#中。如何使用Java执行此操作-使用库或WMPAPI? 最佳答案 ..currentplayedsonginWindowsmediaplayerusingjava不在OSX或*nix上,也不在我运行VLC/WinAmp的这台Windows7机器上。所以你可以认为Java没有内置的API。虽然Java可以使用原生,所以在C#中使用并从Java中调用它。 关于java-在WindowsMediaP
我编写了下载mp3文件的程序。它工作正常。我的下一个任务是使用DirectShow播放同时下载的文件。在MSDN网站上,我找到并复制了这段代码:HRESULThr=CoInitialize(NULL);if(FAILED(hr)){//}IGraphBuilder*pGraph;hr=CoCreateInstance(CLSID_FilterGraph,NULL,CLSCTX_INPROC_SERVER,IID_IGraphBuilder,(void**)&pGraph);IMediaControl*pControl;IMediaEvent*pEvent;hr=pGraph->Quer
厌倦了每次在我的电脑和/或智能手机上添加新文件时手动更新我巨大的mp3/mp4数据库,所以我正在寻找一些帮助来创建一个批处理文件,自动创建/更新我所有的播放列表.m3u。需要2个批处理文件(第一个调用第二个):第一个很简单,我快搞定了;-)create_all_playlist.bat(无需参数,自定义文件)create_m3u.batmisc-70-80.m3umisc\70\misc\80\create_m3u.batmisc-70-80-90.m3umisc\70\misc\80\misc\90\create_m3u.batmisc-60-70-2000-2010.m3umisc
我们有一个python程序,它通过音频输出特定的波形来驱动LED,用于简单且便宜的机器人编程设备。在我们测试过的Windows系统中,一切工作正常,但在某些系统上,波形似乎发生了变化。我们已使用控制面板禁用音频输出端点的任何“增强功能”,但似乎无济于事。那么,是否有可能使用python指示Windows不改变地播放音频?或者这里的一些音频大师是否有另一种可能影响音频的理论? 最佳答案 声卡用于播放音频,而不是发送数据。您不能依赖硬件不更改的任意信号,更不用说软件了。例如,许多声卡都有一个与输出串联的电容器以滤除直流偏置。如果你试
我将要编写一个C#应用程序来播放webm视频文件,其中包含VP8编码的视频流。是否可以在用户不安装DirectShow过滤器的情况下执行此操作?即通过分发提供一些DLL?从许可的角度来看,这是允许的吗? 最佳答案 DirectShow过滤器一旦被添加到过滤器图中就可以运行。所以您不一定需要过滤器COM注册:您可以通过显式调用自己将其添加到那里。然后你可以通过COM或其他方式实例化它。如果您需要标准过滤器注册来实例化过滤器,您可以利用reg-freeCOM或者简单地加载DLL并通过导出的DllGetClassObject函数获取其工厂
我尝试从按钮事件处理程序播放声音:usingSystem;usingSystem.Collections.Generic;usingSystem.IO;usingSystem.Linq;usingSystem.Runtime.InteropServices.WindowsRuntime;usingWindows.Foundation;usingWindows.Foundation.Collections;usingWindows.UI.Xaml;usingWindows.UI.Xaml.Controls;usingWindows.UI.Xaml.Controls.Primitives;
我正在开发一个应用程序来安装来自多张DVD的大量数据文件。该应用程序将提示用户插入下一张磁盘,但Windows将自动尝试在资源管理器窗口中打开该磁盘或询问用户如何处理新磁盘。如何拦截和取消来self的应用程序的自动播放消息? 最佳答案 我知道有两种方法。第一个也是最简单的方法是注册特殊的Windows消息“QueryCancelAutoPlay”,并在处理该消息时简单地返回1。这仅适用于当前窗口,不适用于后台应用程序。第二种方法需要将实现COM接口(interface)IQueryCancelAutoPlayCOM接口(interf
如何在不进入控制面板>声音设备>选择播放设备的情况下更改当前使用的声卡(xp)。任何语言都可以,或者批处理文件,只是我必须每天更换设备播放大约50次,而且每次都必须加载控制面板,这很痛苦。如何? 最佳答案 要在WindowsXP中设置默认的声音播放设备,您可以更改以下注册表项的值:HKEY_CURRENT_USER\Software\Microsoft\Multimedia\SoundMapper\Playback可能是最简单的事情,给定一个现有配置,其中包含您希望能够从已安装的所有设备中进行选择,就是在“声音和音频设备属性”控件中
我有一个WMA文件,其中包含许多不同的音频片段。有什么方法可以播放声音流的一部分吗?类似于:publicstaticvoidPlay(StreamsoundStream,longstart,longend); 最佳答案 您可以使用NAudio来做到这一点,它是.Net的音频库。使用示例here我能够抛出一个快速测试应用程序来尝试它。使用WaveSteam.Skip(intseconds)方法,您可以从文件中的特定位置开始。我一直无法弄清楚如何获得最终位置。下面是在30秒标记处启动wma文件的修改示例:IWavePlayerwaveO