草庐IT

AVfoundation

全部标签

iphone - 使用 AVMutableAudioMix 调整 Assets 内轨道的音量

我将AVMutableAudioMix应用于我创建的Assets,该Assets通常包含3-5个音轨(无视频)。目标是在整个播放时间内添加几个音量命令,即我想在1秒时将音量设置为0.1,在2秒时将音量设置为0.5,然后在3秒时将音量设置为0.1或其他任何值。我现在正尝试使用AVPlayer执行此操作,但稍后在将AVSession导出到文件时也会使用它。问题是它似乎只关心第一个音量命令,似乎忽略了所有后来的音量命令。如果第一个命令是将音量设置为0.1,则对于此Assets的其余部分,这将是此轨道的永久音量。尽管看起来你应该能够添加任意数量的这些命令,但看到AVMutableAudioMi

ios - 在 Swift 2.0 中创建 CMSampleBuffer 的副本

以前有人问过这个问题,但自从有人问起之后,Swift中肯定发生了一些变化。我正在尝试存储从AVCaptureSession返回的CMSampleBuffer对象,以便稍后处理。经过一些实验,我发现AVCaptureSession必须重用其CMSampleBuffer引用。当我尝试保持超过15个时,session挂起。所以我想我会制作样本缓冲区的副本。但我似乎无法让它发挥作用。这是我写的:varallocator:Unmanaged!=CFAllocatorGetDefault()varbufferCopy:UnsafeMutablePointerleterr=CMSampleBuffe

ios - 已弃用的 AVCaptureConnection 帧持续时间属性的替代方案?

根据thisdocument与视频帧最大和最小持续时间相关的属性和方法:支持VideoMaxFrameDuration支持VideoMinFrameDurationvideoMaxFrameDurationvideoMinFrameDuration已全部弃用。有其他选择吗? 最佳答案 根据头文件(AVCaptureSession.h),ThispropertyisdeprecatedoniOS,whereminandmaxframerateadjustmentsareappliedexclusivelyattheAVCaptureD

iOS:AVPlayer 显示黑屏并且无法播放某些 mp4 视频

我在AVFoundation中使用AVPlayer在我的应用程序中播放mp4视频。主要是播放器没问题。但是这两天我遇到了播放器无法播放的.mp4文件。它显示黑屏但没有任何图片。我很困扰。这是.mp4文件的元数据。GeneralCompletename:E:\test.mp4Format:MPEG-4Formatprofile:BaseMediaCodecID:isomFilesize:28.2MiBDuration:1mn30sOverallbitrate:2613KbpsEncodeddate:UTC2015-01-0913:55:04Taggeddate:UTC2015-01-09

iphone - 是否可以在最顶层播放另一个视频时录制视频?

我想弄清楚是否可以通过AVFoundationframework访问设备摄像头来录制视频,而另一个视频正在顶层通过MPMoviePlayerController播放>?我试过这个东西,在AVFoundationFramework的VideoPreviewLayer之上添加一个MPMoviePlayerControllerView。但是当我调用录音方法时,我收到错误消息:“无法将捕获的文件写入Assets库。它可能是纯音频文件。” 最佳答案 这是可能的。您需要做的是像以前一样创建视频预览层。然后执行以下操作:MPMoviePlayer

ios - AVAssetExportSession 为零 iPhone 7 - Plus 模拟器

AVAssetExportSession在iPhone6及以下版本上运行良好,但在iPhone7、iPhone7Plus模拟器上运行不佳。Xcode8.0此代码在exportSession中返回nil,在iPhone7-Plus模拟器上执行,但在iPhoneSE、iPhone6s...模拟器中不执行。请找到以下代码以获取更多信息。NSURL*inputURL=[[NSBundlemainBundle]URLForResource:@"example"withExtension:@"m4a"];AVURLAsset*assetAV=[AVURLAssetURLAssetWithURL:i

ios - 如何从 iOS 上的音频文件中提取元数据

我正在尝试使用AVFoundation框架从mp3和m4a文件中提取元数据。这是测试代码:+(void)printMetadataForFileAtPath:(NSString*)path{NSURL*url=[NSURLfileURLWithPath:path];AVAsset*asset=[AVURLAssetassetWithURL:url];NSArray*availableFormats=[assetavailableMetadataFormats];NSLog(@"Availableformats:%@",availableFormats);NSArray*iTunesMe

ios - 在后台队列上创建和销毁 AVFoundation 类?

我试图消除在主线程上分配AVPlayer、AVPlayerItem和AVURLAsset时发生的一些主线程性能影响。有没有人有将这些对象的分配/释放移动到后台线程的经验?同样,AVPlayer的currentItem是否可以设置在后台队列上? 最佳答案 以下肯定会影响滚动性能创建AVPlayer,10fps下降将播放器添加到AVPlayerLayer,15fps下降开始播放,15/25fps下降暂停播放,15fps下降取消分配AVPlayer,帧数下降20+我尝试从后台线程分配AVPlayer,但是,AVFoundation将切换回

ios - 为什么 AVPlayerItem 的 canPlayFastForward 方法返回 False?

我很想用AVFoundation实现快进快退播放。据我所知,如果AVPlayerItem的canPlayReverse和canPlayFastForward返回False,我只能用AVPlayer播放0.0~2.0的速率。但我需要-1.0并且评分超过2.0。我的问题是我无法找到何时和为什么结果是假的。Apple的文档中没有提及canPlayFastForward何时返回false。谁能解释何时以及为什么canPlayFastForward和canPlayReverse的结果是false以及我该如何改变它是true? 最佳答案 可能是

ios - AudioQueue 修剪和缓冲区大小

尽管应用程序按预期工作,但我在控制台中收到一条消息,我想更详细地了解它。设置如下。创建一个AVAudioPlayer并加载一个.m4a文件(长度为03:22,大小为618KB)。该文件的比特率为23kbps。我意识到比特率很低,但这对于应用程序来说是可以接受的。每当我调整音频播放器的currentTime属性时,我都会将以下消息记录到控制台。AudioQueue:requesttotrim2112+0=2112framesfrombuffercontaining1024frames设置currentTime属性的结果符合预期,但我想知道这条消息的确切含义以及我可以做些什么来防止它出现。