音视频
MeteoriteMan
iOS开发者
展开
-
AVPlayer添加播放进度监听
我看网上许多方案都是建立一个本地的Timer来循环获取当前player的播放进度.其实,苹果已经提供过有关的API:和AVPlayer进度有关API/// 添加监听.以及回调__weak typeof(self) weakSelf = self;[_player addPeriodicTimeObserverForInterval:CMTimeMake(1.0, 1.0) queue:di...原创 2019-01-10 11:36:58 · 17658 阅读 · 0 评论 -
AVAssetImageGenerator(获取视频关键帧)
如果我们有一个AVAsset,我们可以通过AVAssetImageGenerator这个类来生成图片.来作为预览图使用.使用起来也特别简单.self.imageGenerator = [AVAssetImageGenerator assetImageGeneratorWithAsset:self.asset];CMTime actualTime;CGImageRef cgImage = [s...原创 2019-08-21 20:10:21 · 1304 阅读 · 0 评论 -
AssetsLibrary
AssetsLibrary框架支持iOS 4 - iOS 9.因为目前项目还可以最低支持到iOS 8,所以写一写.其实对于一些类似QQ的使用率很高的项目都是iOS 9起了.所以建议大家还是使用PHAsset.AssetsLibrary中有以下一些模块/// 资源库(包含photo、video)#import <AssetsLibrary/ALAssetsLibrary.h>...原创 2019-08-16 00:47:15 · 464 阅读 · 0 评论 -
音视频录制
如果要使用系统的相机UI来照相或者是拍摄视频什么的可以直接使用UIImagePickerController由此可以看出来我们要使用这个框架的话需要有一个AVCaptureDevice,通过Device来获取input(输入.音频输入、视频输入等).然后通过AVCaptureSession传输给AVCaptureOutput(输出).0 权限不管是macOS还是iOS设备,都需要在...原创 2019-08-12 00:05:19 · 364 阅读 · 0 评论 -
AVAudioRecorder
0 使用前准备这是一个录制音频的类.1.需要设置AVAudioSession.2.需要在info.plist中添加相应的字段0.1 设置AVAudioSession接收音频输入NSError *error;AVAudioSession *session = [AVAudioSession sharedInstance];if ([session setCategory:AVAudio...原创 2019-08-11 00:41:26 · 1125 阅读 · 0 评论 -
AVAsset
asset这个词大家肯定看的很多.在Xcode工程中可以用asset特殊文件夹放一些资源文件.类似图片等.AVAsset也是表示和资源有关的.不过是和音视频资源有关的.首先呢,这个AVAsset是一个类似NSOpeation的类,当然,我的意思不是说他是多线程的,而是说这个类是虚类方法+ (instancetype)assetWithURL:(NSURL *)URL;一般该方法创建...原创 2019-08-15 01:53:49 · 41164 阅读 · 0 评论 -
AVAudioPlayer
首先,这是一个本地音频播放框架.无法播放网络资源./// 初始化方法- (nullable instancetype)initWithContentsOfURL:(NSURL *)url error:(NSError **)outError;- (nullable instancetype)initWithData:(NSData *)data error:(NSError **)out...原创 2019-08-09 23:52:47 · 456 阅读 · 0 评论 -
Speech Synthesis(文字转语音)
将文字转换成语音.Speech Synthesis是作为一个管理iOS、iPadOS、tvOS、watchOS的语音和语音合成框架.如果要在macOS上使用文字转语音,需要使用NSSpeechSynthesizer.使用步骤:1.创建AVSpeechUtterance对象.(可以通过此定义一些比如说话速率之类的东西)2.将文字传递给AVSpeechSynthesizer对象来产生语音...原创 2019-08-09 15:26:32 · 4352 阅读 · 1 评论 -
AVAudioSession通知
# 通知/// 被打断通知extern NSNotificationName const AVAudioSessionInterruptionNotification API_AVAILABLE(ios(6.0), watchos(2.0), tvos(9.0)) API_UNAVAILABLE(macos);/// 路线改变通知(如,扬声器切换为耳机.也就是耳机插入设备)exter...原创 2019-08-09 01:57:57 · 4065 阅读 · 0 评论 -
AVAudioSession简单介绍
当我们在iOS上播放音频的时候.如果来了个电话,那么音频就会自动暂停.当电话结束之后,音频又会自动播放.在用户看来也就是一个神奇的魔法而已.然而在我们开发人员角度来说,我们需要知道iOS系统上有一种managed audio environment(可管理的音频环境).它会智能的管理音频环境.对于开发者来说就是AVAudioSession.AvaudioSession是一个单例,设置方法有如...原创 2019-08-08 02:36:31 · 8034 阅读 · 0 评论 -
iOS开发之音视频播放被中断
添加如下监听AVAudioSessionInterruptionNotification收到监听之后将播放有关UI置位暂停状态即可原创 2019-05-21 00:01:16 · 2860 阅读 · 0 评论 -
判断AVPlayer播放状态
AVPlayer有一个AVPlayerItem类型的对象currentItem.typedef NS_ENUM(NSInteger, AVPlayerItemStatus) { /// 未知状态 AVPlayerItemStatusUnknown, /// 准备好播放(播放也是这个) AVPlayerItemStatusReadyToPlay, /// 播放失败 AVPlayer...原创 2019-04-06 00:27:03 · 9385 阅读 · 0 评论 -
iOS歌词处理
年前在做芬享艺术2.1.0版本的开发的时候,老大让我"顺便"把音乐模块的UI调一调.然后BUG给修了…看了之前外包的代码(看顶上的注释是外包)完全是屎山…然后想了想自己实现了一份.歌词解析部分外包的歌词解析只注重了歌词的格式.而且是以字符串截取来做的.写了一堆判断…实在是.而且没有判断作曲者啊之类的标签.如果没有标签(在之前的App上表现的是,如果标签不是时间标签),就崩溃…1.下载歌词...原创 2019-04-05 00:54:42 · 855 阅读 · 0 评论 -
iOS设置静音模式播放声音以及注意点
通过下面的设置可以在静音模式下播放声音 /// 设置静音模式播放声音 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:nil]; [[AVAudioS...原创 2019-01-17 19:22:18 · 8873 阅读 · 0 评论 -
AVFoundation使用AirPlay
我们知道AirPlay可以直接使用控制中心去调.然而这样严格的来说不能算是将播放的内容投放到AirPlay端.倒是直接投屏了.这里我们拿AVPlayer举例子.self.player = [[AVPlayer alloc] init];self.player.allowsExternalPlayback = YES;self.player.usesExternalPlaybackWhi...原创 2019-08-16 20:15:20 · 1109 阅读 · 1 评论