asp.net如何编程让网页能播放一段wav声音。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net如何编程让网页能播放一段wav声音。相关的知识,希望对你有一定的参考价值。

具体的代码很多,可以在dreamvevr 里用快捷方式插入要播放的音乐,每次打开浏览器都可以自动的播放。 参考技术A 添加一个音乐播放器就行了啊,

如何从内存中播放 Wav 声音样本

【中文标题】如何从内存中播放 Wav 声音样本【英文标题】:How to play Wav sound samples from memory 【发布时间】:2017-02-21 23:44:26 【问题描述】:

对于我在大学的最后一年的项目,我正在使用 Wav 文件和 Python 并搞乱它们。我希望能够从内存中播放声音样本,而不是在我听到它们之前将声音样本写入 WAV 文件。

我在网上找了好几个星期,发现了 PyMedia、PySound、PyGame 等,但它们似乎都不适合我。每个单独的包都会给我错误。

我还缺少其他可以帮助我做到这一点的库吗?还是我只是愚蠢,无法让其他软件包工作。

我真正想做的就是这样:

    #open file and get parameters
    wavfile = Wave.open("file.wav", "r")
    params = wfile.getparams()
    nframes = params[3]

    #get sound samples in a list
    samples = []
    for i in range(nframes):
        samples.append(wfile.readframes(1))

    playsound(samples)

    changedSamples = makeChangeTo(samples)

    playsound(changedSamples)

我希望能够在循环中使用它,这样我就可以在程序仍在运行时进行编辑和听到编辑,而不必在听到之前将样本写入 wav 文件,因为这也需要长。

有什么建议吗?干杯!

【问题讨论】:

尝试 SSDD 或虚拟 RAM 磁盘?文件,流接口可以隐藏会导致播放/记录间隙的延迟 - 这是预期的带有垃圾收集的解释语言,如 Python 您没有提供任何有关使这些库正常工作时遇到的错误的信息。 pygame 当然可以create a Sound object from '来自 OGG 音频文件或来自未压缩的 WAV'。 【参考方案1】:

您应该清楚地将这两个问题分开:

    读/写 WAV 文件(或其他音频文件)

    播放/录制声音

关于 SO 的两个主题都有几个问题和答案。

这是我个人(当然也有偏见)的建议:

您应该使用 NumPy 来处理声音,它比处理普通的 Python 缓冲区要容易得多。 如果由于某种原因你不能使用 NumPy,你仍然可以做这一切,但工作量会更大。

对于读/写声音文件,我推荐soundfile 模块(完全公开:我是合著者)。

对于播放/录制声音,我推荐sounddevice 模块(完全公开:我是它的主要作者)。

使用这些模块时,您的示例可能会变成这样:

import soundfile as sf
import sounddevice as sd

samples, samplerate = sf.read('file.wav')
sd.play(samples, samplerate)
sd.wait()
changed_samples = make_change_to(samples)
sd.play(changed_samples, samplerate)
sd.wait()

如果您在交互式 Python 提示符下工作,您可能不需要 sd.wait() 调用,您可以等到播放完成。或者,如果你听腻了,你可以使用:

sd.stop()

如果你知道你会在一段时间内使用相同的采样率,你可以将其设置为默认值:

sd.default.samplerate = 48000

之后,您可以在使用play() 时去掉samplerate 参数:

sd.play(samples)

如果你想将改变的声音存储到一个文件中,你可以使用这样的东西:

sf.write('changed_file.wav', changed_samples, samplerate)

进一步阅读:

different options for reading/writing audio files different options for playback/recording a very basic tutorial about handling audio signals

【讨论】:

太棒了,看起来不错,我会试一试,看看会发生什么。谢谢,我很感激!

以上是关于asp.net如何编程让网页能播放一段wav声音。的主要内容,如果未能解决你的问题,请参考以下文章

如何在 asp.net mvc 项目中添加 .mp3 或 .wav 文件?

从内存流播放 mp3/wav 文件到网页

C++如何播放wav声音文件.Linux系统

vs2008中vb.net怎么把声音文件一起打包

Allegro 声音不起作用(播放 wav 文件)

.net c# 在网页上客户端如何播放服务器端的wav音频文件 急急急!!!!!!!