如何从Python访问DirectSound设备信息?

时间:2011-05-25 04:36:32

标签: python directx ctypes

我在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
    }

任何指针?

1 个答案:

答案 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的更全面的教程