播放 WAV 时持续时间发生变化
DurationChanged while playing WAV
Android
SuperpoweredSDK 版本 1.0.3
我试图通过 SuperpoweredAdvancedAudioPlayer 循环播放 WAV 文件。
由于某种原因,我在每个 SuperpoweredAdvancedAudioPlayerEvent_EOF 之前都有 SuperpoweredAdvancedAudioPlayerEvent_DurationChanged 。每次播放后我的循环越来越小。我可以在 durationMs 中听到和看到这个。
当我播放 AAC 或 MP3 时,它没有发生。看起来像个bug,但可能我不知道一些重要的事情。
处理函数:
bool process(short int *output, unsigned int numberOfSamples) {
bool notEmpty = false;
for (int i = 0; i != numStreams; ++i) {
Stream* stream = streams[i];
notEmpty = stream->player->process(stereoBuffer, notEmpty, numberOfSamples, stream->volume) || notEmpty;
}
if (notEmpty)
SuperpoweredFloatToShortInt(stereoBuffer, output, numberOfSamples);
return notEmpty;
}
我确实在远程连接到此的 Superpowered 源中发现了一个错误,但是它与您的具体示例无关。如果您使用的是当前可用的最新版本 (1.0.3),则不应发生这种情况。
如果 1.0.3 版本出现这种情况,理论上下一次更新会修复它。在那之前,只需忽略循环的持续时间更改事件——您并不真正需要它。
Android SuperpoweredSDK 版本 1.0.3
我试图通过 SuperpoweredAdvancedAudioPlayer 循环播放 WAV 文件。 由于某种原因,我在每个 SuperpoweredAdvancedAudioPlayerEvent_EOF 之前都有 SuperpoweredAdvancedAudioPlayerEvent_DurationChanged 。每次播放后我的循环越来越小。我可以在 durationMs 中听到和看到这个。 当我播放 AAC 或 MP3 时,它没有发生。看起来像个bug,但可能我不知道一些重要的事情。
处理函数:
bool process(short int *output, unsigned int numberOfSamples) {
bool notEmpty = false;
for (int i = 0; i != numStreams; ++i) {
Stream* stream = streams[i];
notEmpty = stream->player->process(stereoBuffer, notEmpty, numberOfSamples, stream->volume) || notEmpty;
}
if (notEmpty)
SuperpoweredFloatToShortInt(stereoBuffer, output, numberOfSamples);
return notEmpty;
}
我确实在远程连接到此的 Superpowered 源中发现了一个错误,但是它与您的具体示例无关。如果您使用的是当前可用的最新版本 (1.0.3),则不应发生这种情况。
如果 1.0.3 版本出现这种情况,理论上下一次更新会修复它。在那之前,只需忽略循环的持续时间更改事件——您并不真正需要它。