在我的应用程序中,我为用户提供了播放一小段音频(来自较大的音频文件)的选项,以便反复聆听以进行手动转录。AKPlayer使这变得微不足道。现在,因为音频帧非常小,一遍又一遍地听到这个循环是非常强烈的(在这个词的经典意义上有点令人抓狂)。我想在循环中淡出/淡入,或者在循环再次开始之前注入(inject)500毫秒的静默。我不知道从哪里开始,这里是当前的工作代码:publicfuncplayLoop(start:Double,end:Double){self.chordLoopPlayer.isLooping=trueself.chordLoopPlayer.buffering=.alwa
到目前为止,我一直在使用AKPlayers进行多音频播放项目,由AKSequencer触发以获得完美的同步、循环和高级信号处理。一切进展顺利,但现在我需要一些洞察力才能进入下一个阶段。我正在尝试对远程mp3文件播放完全相同的功能-从远程URL地址流式传输mp3文件数组。但是,AKPlayer目前似乎还不支持流媒体功能。不过,我在此网站上发现的一种可能性是RyanFrancesconi在主题"HowcanIgetAudioKittostreamanaudiofilefromaremoteURL?”上的回答.他是这样建议的:guardletremote=URL(string:"https:
我目前正在使用FDWaveFormView非常成功地显示代表我从AKMicrophone或AKAudioFile录制的音频的波形。我成功地突出显示了波形中的特定区域,FDwaveForm返回了音频文件中的一系列样本。我现在的问题是我无法在AKPlayer中找到合适的方法来让我从开始样本播放到结束样本。我注意到AKSamplePlayer现在已被弃用,但它确实有一个方法:play(from:Sample,to:Sample)我的猜测是我可以做一些数学运算来将样本位置转换为时间(作为AKPlayer中规定的Double),但是我还没有找到执行此操作的适当数学或函数,有什么提示吗?为了清楚地
我已经为此苦苦挣扎了一段时间。我有一系列AKPlayer。varplayers=[AKPlayer]()我在网上搜索了很多关于同一问题的其他问题,他们都建议使用:AKPlayer.play(atTime:AVAudioTime)我已经尝试过(以及其他类似的尝试):varsampleRate=selectedSong!.channels[0].audioFile!.sampleRatevarsampleTime=players[0].audioTime(at:players[0].currentTime)?.sampleTimevarstartTime=AVAudioTime(sampl
一直在为这个问题挠头,但无济于事。我只是想了解如何在使用AudioKit提供的AKAudioPlayer时立即更改当前播放位置。player.playhead是只读的,因此无法更改。在播放器正在播放时更改player.startTime似乎会根据报告的.playhead位置更改播放位置,但正在播放的实际音频不会更改位置-我在这里遗漏了什么吗?显然,我可以停止音频并在新位置重新启动,但对于一个简单的mp3/wav文件播放器来说,几秒昂贵的CPU间隙是不可取的!有什么想法吗? 最佳答案 我们添加了一个名为AKPlayer的新播放器这也将
我正在尝试在播放多个AKPlayer时实现开关。首先,我调用了两个AKPlayer,由AKSequencer中的AKCallbackInstruments触发。当我打开开关时,1)两个AKPlayer被分配给AKMixer,2)Audiokit启动,3)两个音轨被添加到AKSequencer,4)音序器启动。关闭时,1)两个AKPlayers.stop(),2)sequencer.stop()3)sequencer.deleteTrack(trackIndex:0),sequencer.deleteTrack(trackIndex:1)4)AudioKit.stop().首次开启和关闭
我最近完成了从AudioKit3.7到4.2的迁移(使用Cocoapods),这是XCode9.3所需要的。我按照迁移指南将AKAudioPlayer更改为AKPlayer。问题当AKPlayer播放音频文件时,AudioKit因以下错误而崩溃:2018-04-1709:32:43.042658+0200hearfit[3509:2521326][avae]AVAEInternal.h:103:_AVAE_CheckNoErr:[AVAudioEngineGraph.mm:3632:UpdateGraphAfterReconfig:(AUGraphParser::InitializeA
这是我遇到的问题。我有一个应用程序可以从网络加载声音然后播放。同时,该应用程序具有录制和播放语音的功能。我为这两个功能使用了两个不同的ViewController。对于这些任务,我创建了一个单例。当我启动应用程序并首先直接转到RecordViewController时-一切正常(我可以录制声音,播放它,然后我可以使用我的声音转到我的第二个ViewController并且可以毫无问题地播放它也是)。但是,如果我启动应用程序并首先播放声音(使用我的第二个ViewController),然后转到记录ViewController并尝试记录一些东西,我会收到此崩溃消息:Terminatingap
我努力使以下场景按预期工作(代码将在下面提供)。记录我的麦克风输入并在内存中存储一个AVAudioPCMBuffer,这是通过AVAudioPCMBuffer扩展方法copy(frombuffer:AVAudioPCMBuffer,readOffset:AVAudioFrameCount=默认,帧:AVAudioFrameCount=默认)。我确实在录制结束时得到了缓冲区。当录制结束时,将缓冲区传递给AKPlayer并播放。这是一个代码片段来演示我所做的事情(我知道这不是完整的应用程序代码,如果需要我可以分享):.privatevarplayer:AKPlayer=AKPlayer
我正在尝试使用AudioKit的AKPlayer同步播放4个mp3文件,并且非常成功。不过,作为我学习Swift的一部分,我想使用数组(或我还没有学过的东西)来简化我的代码,因为我觉得我的代码中有一些多余的东西,只是简单地复制玩家代码四次。下面是我写的代码:letfile1=try?AKAudioFile(readFileName:"mixing_1_vocal.mp3")letfile2=try?AKAudioFile(readFileName:"mixing_2_drums.mp3")letfile3=try?AKAudioFile(readFileName:"mixing_3_s