我在SO上找到了有关如何使用.NET枚举声音设备信息的this信息,但我真的不知道如何在Python中使用这些信息。您可能会说,我对Windows API编程的经验几乎为零。
我可以弄清楚如何通过WMI获取基本信息,但我需要更多信息,看起来我可能需要以下C#代码片段,但我只是不知道如何从Python访问DirectSound对象。我已经找到了一些ctypes的基本内容,但我不知道哪个或如何加载DirectX .dll ......
DevicesCollection devColl = new DevicesCollection();
foreach (DeviceInformation devInfo in devColl)
{
Device dev = new Device(devInfo.DriverGuid);
//use dev.Caps, devInfo to access a fair bit of info about the sound device
}
任何指针?
答案 0 :(得分:1)
对于“穷人”的.NET库访问,请查看"Python for .NET"。
但是,由于其clr
库的.NET绑定,使用IronPython访问DirectSound设备可能更容易。
来自IronPython cookbook的提示:
Playing an MP3 song with DirectX:
import clr
clr.AddReference('Microsoft.DirectX.AudioVideoPlayback')
from Microsoft.DirectX import AudioVideoPlayback
mp3 = AudioVideoPlayback.Audio("C:\\myreallyfunky.mp3")
mp3.Play()
可以在http://www.neotitans.com/resources/dot-net/mdx-ironpython-1.html
中找到有关在IronPython中使用Managed DirectX的更全面的教程