首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MPMusicPlayerController调速

MPMusicPlayerController调速
EN

Stack Overflow用户
提问于 2011-02-28 21:58:37
回答 3查看 1.6K关注 0票数 4

嗨,

有没有办法调整MPMusicPlayerController播放的歌曲的速度?

我到处找过,但没有发现任何有用的东西。如果没有办法做到这一点,我在哪里可以找到一个例子,它与其他组件?有些人说OpenAL,但是我找不到任何清晰的方法来使用iPod库来改变歌曲的速度.

我主要需要的是:

  1. 用户从iPod库的MPMusicPlayerController库中选择一首歌曲
  2. 你有两个按钮:减速和加速

如果用户按下“慢下来”,歌曲的速度就会减慢,比如5%或者其他什么。“加速”签证-反之亦然。

我真的希望有人能帮我这个忙!

提前感谢!

EN

回答 3

Stack Overflow用户

发布于 2014-05-26 15:19:34

你可以在iOS 3.2和更高版本的时候这样做-

代码语言:javascript
运行
复制
[musicPlayer play];
[musicPlayer setCurrentPlaybackRate:2.0];

参考文献:ref/occ/intfp/MPMediaPlayback/currentPlaybackRate

票数 4
EN

Stack Overflow用户

发布于 2012-05-24 13:42:44

您可以将AVAudioPlayer和AVPlayer用于上述目的。

它们有一个rate属性,可以设置歌曲的速度。

代码语言:javascript
运行
复制
[AVPlayer setRate:1.25];  // 25% faster

然而,AVPlayer不能改变速度5%,但25%,AVAudioPlayer工作在iOS 5及以上。

如果你想选择其他的选择,那么狄拉克是最好的选择。试试狄拉克3le,它是免费的。

使用这个链接来了解如何使用狄拉克。想了解更多信息,请告诉我。

@girish_vr

票数 1
EN

Stack Overflow用户

发布于 2011-02-28 22:35:05

不,您不能只使用MPMusicPlayerController来完成这个任务。

如果您不介意音高与速度变化成正比,那么您可以在将声音文件转换为原始PCM示例文件或缓冲区之后使用OpenAL重放器。

如果你不想改变音高,你正在寻找的是DSP时间音高拉伸/修改/校正技术。OpenAL无法做到这一点,但是有一些商业的DSP库(狄拉克可能是其中之一)可以在iOS上实现。您也可以尝试编写您自己的相位声码器,但这是不平凡的数字信号处理代码。

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

https://stackoverflow.com/questions/5148066

复制
相关文章

相似问题

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