如何在BASS库中使用StreamCreateFile的偏移量参数
本文关键字:StreamCreateFile 偏移量 参数 BASS | 更新日期: 2023-09-27 18:14:25
我正试图使用BASS库做一些音频编辑,所以如果有人熟悉库可以帮助我。
我使用的函数是
Bass.BASS_StreamCreateFile(filename, offset, length, flags);
对于一点背景,我正在使用Bass.net包装器,我正在处理所有mp3文件。我使用这个函数的实际代码是:
int baseStream = Bass.BASS_StreamCreateFile(filename, startTimeBytes, durationBaseBytes, BASSFlag.BASS_STREAM_PRESCAN | BASSFlag.BASS_STREAM_DECODE | BASSFlag.BASS_SAMPLE_FLOAT);
每当偏移量(startTimeBytes)等于0时,流就会正常创建,但每当偏移量非零时,该方法返回0,并且给出的错误代码是BASS_ERROR_FILEFORM。但是,如果没有偏移量(offset = 0),所使用的文件也可以正常工作。
也许我使用的旗帜有问题或其他什么?
您的mp3文件包含没有偏移的帧。所以使用0
offset
设置流的播放位置使用BASS_ChannelSetPosition()。
- 创建一个offset = 0的流
- 根据通道的格式,使用BASS_ChannelSeconds2Bytes(); 将时间(秒)位置转换为字节
- 用BASS_ChannelSetPosition()和
BASS_POS_BYTE
模式设置位置