【问题标题】:alGenSources keeps giving a random sourcealGenSources 不断提供随机来源
【发布时间】:2015-07-10 05:41:44
【问题描述】:

最近朋友给了我一些代码,意思是转换然后播放和分析音乐,但是当我尝试将它集成到我自己的项目中时,它会抛出错误并拒绝播放音乐。

我跟踪了代码的流程,发现第一行与原始代码不一致。

#define AL_CALL(a) { a; checkError(__FILE__, __LINE__); }
bool PcmStream::open(string path){
printf("PcmStream %s", path.c_str());
fp = fopen(path.c_str(), "rb");
if(!fp){
    printf("Audio file at path %s is missing", path.c_str());
    return false;
}
fseek(fp, 0L, SEEK_END);
file_size = ftell(fp);
fseek(fp, 0L, SEEK_SET);
printf("File size %lu Bytes", file_size);

AL_CALL(alGenBuffers(BUFFERS_NUMBER, buffers));
AL_CALL(alGenSources(1, &source));
printf("\n \n First error %u \n \n", *buffers);

printf("\n \n Second error %d \n \n", source);

这输出: BytesOpenAL 错误 40964,位于 /Users/justking14/projectname/template/multi-platform-cpp/proj.ios/PcmStreamer.cpp 61

第一个错误2496

第二个错误0

*buffers 在这个项目上总是给出相同的数字,在原始代码上给出一个不同但不变的数字。

源总是在原件上给出相同的数字,但在我的代码中它给出的数字介于 0 和 2089734272 之间。

【问题讨论】:

    标签: c++ objective-c cocos2d-x openal pcm


    【解决方案1】:

    原来我使用的共享 SimpleAudioEngine 阻塞了音频端口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-03
      • 1970-01-01
      相关资源
      最近更新 更多