gpt4 book ai didi

.net - 确定播放期间的音频来源

转载 作者:行者123 更新时间:2023-12-02 22:30:25 25 4
gpt4 key购买 nike

我不了解关于音频的编程的第一件事,所以请多多包涵。有什么方法可以确定声音驱动程序正在播放哪个文件?还是一种检查声音驱动程序播放的当前音频文件堆栈的方法?

我认为我基本上是想嗅探发送到音频总线的数据,以确定它在硬盘驱动器上的位置。如果可能的话,我很想知道如何使用.NET。

最佳答案

我认为这是不可能的。在Windows中进行播放的API(DirectSound,waveOut *等)实际上将音频数据作为样本值的数组而不是文件来处理。诸如SoundPlayer之类的高级类将打开一个文件,将文件中的数据读取到数组中,然后将该数组传递给播放方法,因此播放音频的东西对原始文件的位置一无所知。

再举一个例子,我自己的程序(一个软件合成器)纯粹在内存中生成音频,在此过程中的任何时候都没有文件参与,因此将无法确定文件的位置(因为没有文件存在) 。

专门用于播放文件的类可能会公开一个API,该API可让您获取有关使用该类播放的任何文件的信息,但是我从未见过这样的事情(我知道SoundPlayer肯定不会这样做)。

拉里·奥斯特曼(Larry Osterman)是该站点的用户,并且是Windows音频系统的工程师,因此,如果有人引起他的注意,他将知道该问题的答案。但是,我敢打赌这是不可能的。

关于.net - 确定播放期间的音频来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1285194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com