首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ObjectAL中播放缓冲区

在ObjectAL中播放缓冲区
EN

Stack Overflow用户
提问于 2015-01-06 23:00:24
回答 1查看 68关注 0票数 1

我是ObjectAL的新手。我用它来弹奏改变音高的mp3。

我不知道如何在ObjectAL中“正确地”使用加载的缓冲区。当我调用[source play:buffer]时,声音只会出现一小部分秒。为了不断地“播放”一个缓冲区,我可以将它嵌入无限循环中,然后正确地播放缓冲区。我想我错过了一些基本点,你能为我指出正确的方向吗?

我的代码:

代码语言:javascript
复制
[OALSimpleAudio sharedInstance].reservedSources = 0;

ALSource *source = [ALSource source];

ALBuffer *buffer = [[OpenALManager sharedInstance] bufferFromFile:@"video.mp3" reduceToMono:YES];
source.pitch = 1;

for (;;) {   // infinite loop because otherwise only a millisecond of buffer is played
    [source play:buffer];
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-07 16:32:54

调用pitchTo或类似的函数实际上会使缓冲区不断播放,fx:

代码语言:javascript
复制
[source pitchTo:1 duration:1 target:nil selector:nil];

这并不是一个完美的解释,但至少它解决了问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27808736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档