草庐IT

avAudioPlayers

全部标签

ios - 我怎样才能使用 AVAudioPlayer 更快*和*更高音调地播放音频?

问题陈述:我的应用程序中有一组音效,存储为.m4a文件(AAC格式,48KHz,16位),我想以各种速度和音调播放这些音效,而无需必须将所有变体预先生成为单独的文件。尽管AVAudioPlayer对象的.rate属性可以改变播放速度,但它始终保持原始音高,这不是我想要的。相反,我只是想更快或更慢地播放声音样本,并让音调升高或降低以匹配——就像加快或放慢老式卷盘式磁带录音机一样。换句话说,我需要一些方法来从根本上改变音频采样率,例如+2个半音(快12%)、–5个半音(慢33%)、+12个半音(快2倍)等。问题:有没有办法从AVAudioPlayer对象中获取线性PCM音频数据,使用不同的

ios - AVAudioPlayer 和 AVAudioSession 不会在 iPad(2 或其他)上播放蓝牙立体声

我有一个应用程序可以播放录制的音频以及重复的声音。声音通过板载iPad扬声器正确播放,如果我从耳机插孔插入一条线到我的立体声音频输入,它也播放得很好。当我将我的iPad与我的蓝牙立体声输入配对时,来self的其他应用程序(为iPhone编写,在我的iPad上运行)的所有声音工作正常,来self设备的所有其他声音也是如此。问题是我为iPad编写的应用程序没有通过蓝牙路径播放,而是通过内置扬声器播放。在我的didFinishLaunchingWithOptions(…)方法中的应用委托(delegate)中,我放置了以下内容:NSError*error=nil;[[AVAudioSessi

swift - 通过 SKAction 但不是通过 AVAudioPlayer 播放声音

我在游戏中播放声音时遇到了一个令人烦恼的问题,但似乎无法通过AVAudioPlayer获得任何输出。最初这是作为一个类设置的,但是当它不起作用时,我尝试对声音输出进行硬编码,只是为了检查那里是否存在问题。它仍然没有用,我尝试了几个不同的文件来排除有问题的音频文件或格式。正在检索URL,但audioPlayer似乎只是没有输出声音。我已经阅读了一些关于类似问题的帖子并摆弄了系统声音设置,但没有任何区别。有人建议模拟器在某些情况下无法输出声音,但我不认为这是这种情况。letmyFile=NSURL(fileURLWithPath:NSBundle.mainBundle().pathForR

ios - 在其他 swift 文件中调用时,AVAudioPlayer 不会播放声音

我有两个swift文件——我的ViewController:UIViewController和AudioPlayer:AVAudioPlayer。我的AudioPlayer文件有这个功能funcseaGullSound(){vartmp=AVAudioPlayer()varseaGullSound=NSURL(fileURLWithPath:NSBundle.mainBundle().pathForResource("Gulls",ofType:"mp3")!)AVAudioSession.sharedInstance().setCategory(AVAudioSessionCateg

ios - AVAudioPlayer 在 segue 之后继续播放并在返回原始 View Controller 时重新启动 - 我该如何停止它?

AVAudioPlayer有一个奇怪的小问题,我找不到很好的解决方案。我正在使用以下功能在我的应用程序的菜单屏幕中播放一些背景音乐:funcstartMusic(){do{trymusicPlayer=AVAudioPlayer(contentsOfURL:NSURL(fileURLWithPath:NSBundle.mainBundle().pathForResource("menu_music",ofType:"mp3")!))}catchleterrasNSError{print(err.debugDescription)}musicPlayer.prepareToPlay()m

ios - 正在进行 WebRTC 音频通话时,AVAudioPlayer 以非常低的音量播放声音

我正在尝试使用AVAudioPlayer播放声音片段,同时使用适用于iOS的GoogleWebRTCObj-C库激活PeerConnection。当我播放声音时,我可以通过扬声器听到它,但与WebRTC音频输出相比,它以极低(几乎听不见)的音量播放。我将AVAudioSession设置为active=true,如下所示;AVAudioSession.Category=.playAndRecord,AVAudioSession.CategoryOptions=[.defaultToSpeaker,.allowBluetooth,.mixWithOthers],AVAudioSession

ios - 从另一个类停止或播放 AVAudioPlayer - 应用程序崩溃 - Swift

我在我的AppDelegate中设置了一个AVAudioPlayer以在启动时播放。它会在整个应用程序中继续播放,但当我尝试停止或播放不同类别的播放器时,应用程序崩溃并在该行显示EXC_BAD_ACCESS。AppDelegate.swiftimportAVFoundation@UIApplicationMainclassAppDelegate:UIResponder,UIApplicationDelegate{varwindow:UIWindow?varpath=NSBundle.mainBundle().pathForResource("backgroundMusic",ofTyp

ios - AVAudioPlayer 得到错误的文件持续时间 iOS 10

我正在使用AVAudioPlayer对象加载音频文件。我已经检查了两个浏览器1)chrome正在获得准确的持续时间。而2)Safari的文件持续时间错误。我们使用了如下代码,letsoundData=NSData(contentsOf:urlasURL)self.player=tryAVAudioPlayer(data:soundData!asData)self.player.delegate=selfletcurrentSecond=self.player.duration//SecondOptionwehadtried.letassets=AVURLAsset(url:urlasU

ios - Swift 3.0 AVAudioPlayer 通过音乐播放音频

目前这是我用来在按下按钮时播放声音的代码。varplayer:AVAudioPlayer?leturl=Bundle.main.url(forResource:"Sound/yatch",withExtension:"mp3")!do{player=tryAVAudioPlayer(contentsOf:url)guardletplayer=playerelse{return}player.prepareToPlay()player.play()}catchleterror{print(error.localizedDescription)}我正在尝试让此音频播放当前正在播放的内容(例

ios - AVAudioPlayer 不播放音频 Swift

我正在尝试播放声音以提醒我的应用程序的用户,并且我查看了一些资源来帮助我做到这一点:AVAudioPlayernotplayingaudioinSwift(帮我解决我现在遇到的问题,没用)Creatingandplayingasoundinswift(我最初开始的地方)还有这些视频:https://www.youtube.com/watch?v=Kq7eVJ6RSp8https://www.youtube.com/watch?v=RKfe7xzHEZk所有这些都没有给我想要的结果(声音不播放)。这是我的代码:privatefuncplayFinishedSound(){ifletpat