如何播放spotify音乐流
首先,我对音频编程还不熟悉,所以请容忍我 我正在尝试使用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歌曲,效果很好,所以扬声器的音量还可以。如何播放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取得了突破。这就是我用试错法得出的结论。我不确定这是否是从采样器/通道计算参数的正确方法 但这首歌正在播放:-)
我知道这是一个老帖子。但是,什么是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();
}