Tag: 寻求

潘寻求AVPlayer

我正在试图在AVPlayer中向前和向后寻找。 这是一种有效的工作,但确定锅的翻译到资产的长度的基本math是错误的。 任何人可以提供帮助吗? – (void) handlePanGesture:(UIPanGestureRecognizer*)pan{ CGPoint translate = [pan translationInView:self.view]; CGFloat xCoord = translate.x; double diff = (xCoord); //NSLog(@"%F",diff); CMTime duration = self.avPlayer.currentItem.asset.duration; float seconds = CMTimeGetSeconds(duration); NSLog(@"duration: %.2f", seconds); CGFloat gh = 0; if (diff>=0) { //If the difference is positive NSLog(@"%f",diff); gh = diff; } else { //If the difference is negative […]

与AVPlayer的平移手势

这个function对我的应用程序非常重要,并且真的很想帮助一下。 基本上,我想添加一个UIPanGestureRecognizer到video播放器,以便用户可以用手势快进/倒带video。 苹果有一些使用Swift 3的示例代码,并且已经创build了整个video播放器。 唯一缺less的是UIPanGestureRecognizer 。 这是链接: https : //developer.apple.com/library/content/samplecode/AVFoundationSimplePlayer-iOS/Introduction/Intro.html#//apple_ref/doc/uid/TP40016103 在viewWillAppear我添加了这样的手势: let panGesture = UIPanGestureRecognizer(target: self, action: #selector(handlePanGesture)) view.addGestureRecognizer(panGesture) 这是有点工作的代码。 目前正在擦洗。 问题是,每次我开始平移手势,video跳到中间,我从那里开始。 而不是从当前video的快进/快退,平移手势将video跳到中间,然后允许我快进/快退,这是不好的。 func handlePanGesture(sender: UIPanGestureRecognizer) { switch sender.state { case .began, .changed: let translation = sender.translation(in: self.view) var horizontalTranslation = Float(translation.x) let durationInSeconds = Float(CMTimeGetSeconds(player.currentItem!.asset.duration)) // Using 275 as the limit for delta along […]

iOSaudio修剪

我search了很多,找不到任何相关的…我正在研究iOSaudio文件,这是我想要做的… 录制audio和保存剪辑(检查,我用AVAudioRecorder这样AVAudioRecorder ) 改变音调(检查,这是否使用Dirac) 修剪:( 我有两个标记,即开始和结束偏移量,并使用此信息我想修剪录制的文件,并希望将其保存回来。 我不想使用“寻找”,因为后来我想同步播放所有录制的文件(就像时间轴上的Flash影片剪辑一样),最后我想导出为一个audio文件。