Tag: avplayer

在iPhone上的耳机和扬声器之间切换

我正在尝试设置iPhone应用程序输出的audio路由。 我正在使用路由更改侦听器来检测何时audio路由已更改。 聆听者检测到这些变化,例如耳机插入和拔出的时间。 默认情况下,扬声器播放audio,然后插入耳机,并通过耳机传输audio。 从那里,即使路由更改侦听器正在检测它们,也不会发生任何更改。 任何帮助将非常感激。 NSError *sessionError = nil; [[AVAudioSession sharedInstance] setDelegate:self]; [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:&sessionError]; UInt32 sessionCategory = kAudioSessionCategory_PlayAndRecord; AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory); AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof(sessionCategory), &sessionCategory); AudioSessionAddPropertyListener(kAudioSessionProperty_AudioRouteChange, RouteChangeListener, (__bridge void *)(self)); AudioSessionSetActive(YES); callback监听器: void RouteChangeListener( void *inUserData, AudioSessionPropertyID inPropertyID, UInt32 inPropertyValueSize, const void *inPropertyValue) { if (inPropertyID == kAudioSessionProperty_AudioRouteChange) { CFStringRef newRoute; UInt32 size […]

AVMutableComposition – 只播放第一首歌(Swift)

我有一个[AVAsset]数组,我试图将所有这些资产合并到一个单一的资产,以便我可以无缝地播放video(我尝试使用AVQueuePlayer,但不会无缝地播放资产)。 下面是我到目前为止,但是当我尝试播放最后的作曲,它只播放第一首曲目,即使它显示它具有所有曲目,并且总持续时间等于所有曲目一起。 即使看起来所有的曲目都在曲目中,我是否错过了一个步骤? 也许我需要以不同的方式处理AVPlayer,如果AVPlayerItem有多个轨道? let playerLayer: AVPlayerLayer = AVPlayerLayer() lazy var videoPlayer: AVPlayer = AVPlayer() var videoClips = [AVAsset]() let videoComposition = AVMutableComposition() var playerItem: AVPlayerItem! var lastTime: CMTime = kCMTimeZero for clipIndex in videoClips { let videoCompositionTrack = videoComposition.addMutableTrackWithMediaType(AVMediaTypeVideo, preferredTrackID: Int32(kCMPersistentTrackID_Invalid)) do { try videoCompositionTrack.insertTimeRange(CMTimeRangeMake(kCMTimeZero, clipIndex.duration), ofTrack: clipIndex.tracksWithMediaType(AVMediaTypeVideo)[0] , atTime: lastTime) lastTime = CMTimeAdd(lastTime, […]

如何在ios中裁剪audio

我想知道如何裁剪语音和audio的某些部分,并使用Objective-C代码将它们组合在单个文件中。 我应该使用C ++库吗? 想要将avaudiorecorder转换为数据并select一些部分。

Swift AVPlayerItem完成后closures

我对Swift和iOS开发非常陌生,所以请原谅我的无知。 我试图在播放完video后自动closuresAVPlayer。 我想附加“playerDidFinishPlaying”侦听器来接收通知,但一旦我有了它,我找不到方法/事件closures控制器。 我正在寻找模仿点击“完成”button的动作。 这是一小段代码。 希望这是足够的信息。 如果没有,我可以提供进一步的信息 let destination = segue.destinationViewController as! AVPlayerViewController let url = NSURL(string: "video url") destination.player = AVPlayer(URL: url!) destination.player?.play() 我已经添加了以下通知,但是一旦拥有了,我不知道该如何处理它… NSNotificationCenter.defaultCenter().addObserver(self, selector: "playerDidFinishPlaying:", name: AVPlayerItemDidPlayToEndTimeNotification, object: destination.player!.currentItem) func playerDidFinishPlaying(note:NSNotification){ print("finished") // close window/controller } 最后,我知道我需要删除观察者,但我不确定何时何地这样做。 任何帮助是极大的赞赏。

如何在AVPlayer中使用AVQueuePlayer

目前我正在使用下面的代码播放歌曲 playerItem = [AVPlayerItem playerItemWithURL:[song valueForProperty:MPMediaItemPropertyAssetURL]]; [_avPlayer replaceCurrentItemWithPlayerItem:playerItem]; 在这里我使用AVPlayer播放audio文件,但我的要求是需要连续播放歌曲组(NSArray)(目前播放器停止后播放一首歌曲)。我听说AVQueuePlayer,但不知道如何使用avplayer如果有人知道这一点,请帮助我

如何在SWIFT中获得MP3比特率

我正在寻找一种获得像mp3链接的MP3audio128kbps或320kbps的方式。 我有一个UITableView从URL列表加载文件列表,我想显示audio质量。 我曾尝试使用AVAudioPlayer和AVPlayer但没有运气。 请帮忙,我怎么能做到这一点? do{ let audioPlayer = try AVAudioPlayer(contentsOf:audioURL) print(audioPlayer.settings) if #available(iOS 10.0, *) { print(audioPlayer.format) } else { // Fallback on earlier versions } }catch { print("Error getting the audio file") }

如何使用AVPlayer以不同于系统音量的iPod音乐库播放音轨

如何以不同于系统音量的音量播放iPod音乐库中的音乐(如用户定义的播放列表等)?

swift:如何截图AVPlayerLayer()

如何截取AVplayerLayer的截图。 我尝试使用下面的代码,它可以很好地捕获整个视图 func screenShotMethod() { let window = UIApplication.shared.delegate!.window!! //capture the entire window into an image UIGraphicsBeginImageContextWithOptions(window.bounds.size, false, UIScreen.main.scale) window.drawHierarchy(in: window.bounds, afterScreenUpdates: false) let windowImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() //now position the image x/y away from the top-left corner to get the portion we want UIGraphicsBeginImageContext(view.frame.size) windowImage?.draw(at: CGPoint(x: -view.frame.origin.x, y: -view.frame.origin.y)) let croppedImage: UIImage = UIGraphicsGetImageFromCurrentImageContext()! […]

AVAudioPlayer不播放文件夹内的歌曲?

我用这个代码来播放歌曲,它不是播放除了文档目录以外的文件夹或文件夹内的歌曲。 NSString *songname=[NSString stringWithFormat:@"%@",songArray[songIndex]]; NSLog(@"songname:%@",songname); NSString* saveFileName = songname; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0]; NSString *path = [documentsDirectory stringByAppendingPathComponent:saveFileName]; NSURL *url = [[NSURL alloc] initFileURLWithPath: path]; self.audioPlayer=[[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];

Apple TV上的AirPlay元数据(AVPlayer – MPVolumeView)

我有我的应用程序通过AVPlayer成功stream式传输MP3。 我实现了一个MPVolumeView来支持AirPlay,但是我注意到我的苹果电视上的标题信息并没有显示stream媒体MP3中的任何内容,而只是“未知”信息。 无论如何,从应用程序来控制这个信息,或者这是一个问题引起的stream媒体MP3? 任何帮助将非常感激!!