如何播放spotify音乐流

如何播放spotify音乐流,spotify,naudio,bass.dll,Spotify,Naudio,Bass.dll,首先,我对音频编程还不熟悉,所以请容忍我 我正在尝试使用NAudio或BASS.Net或任何其他.Net音频库播放spotify音乐 据我所知,libspotify以原始PCM数据的形式提供音乐 从spotify文档: 样本以整数形式发送,请参见sp_audioformat。一帧包含的采样数与通道数相同。即,交错是在样本级别上进行的 当我尝试播放歌曲时,spotify会使用8192字节的缓冲区进行回调 通道=2 抽样率=44100 num_frames=2048 我需要一些帮助,将这些信息翻译成

首先,我对音频编程还不熟悉,所以请容忍我

我正在尝试使用NAudio或BASS.Net或任何其他.Net音频库播放spotify音乐

据我所知,libspotify以原始PCM数据的形式提供音乐

从spotify文档: 样本以整数形式发送,请参见sp_audioformat。一帧包含的采样数与通道数相同。即,交错是在样本级别上进行的

当我尝试播放歌曲时,spotify会使用8192字节的缓冲区进行回调

通道=2

抽样率=44100

num_frames=2048

我需要一些帮助,将这些信息翻译成NAudio术语

我还尝试了spotify to Bass.Net示例(BASSPlayer.cs)。但我还没有听到我的演讲者发出一个音符。 我试着用NAudio和Bass.NET播放一首mp3歌曲,效果很好,所以扬声器的音量还可以。
NAudio取得了突破。这就是我用试错法得出的结论。我不确定这是否是从采样器/通道计算参数的正确方法

但这首歌正在播放:-)


我知道这是一个老帖子。但是,什么是PcmFile?
IWavePlayer waveOutDevice = new WaveOut();

using (var pcmStream = new FileStream(PcmFile, FileMode.Open))
{
    const int songDuration = 264000;
    const int sampleRate = 44100;
    const int channels = 2;
    var waveFormat = WaveFormat.CreateCustomFormat(WaveFormatEncoding.Pcm, sampleRate * channels, 1, sampleRate * 2 * channels, channels, 16);
    var waveStream = new RawSourceWaveStream(pcmStream, waveFormat);

    waveOutDevice.Init(waveStream);
    waveOutDevice.Play();
    Thread.Sleep(songDuration);
    waveOutDevice.Stop();
    waveStream.Close();
    waveOutDevice.Dispose();
}