ios如何处理声音
来源:互联网 发布:网络管理下载 编辑:程序博客网 时间:2024/06/05 10:26
AVAudioPlayer播放声音
既然万物皆对象,声音自然也是对象.那么必定有处理声音的类.这个类中必定有这样一些方法属性,方法:播放,暂停等.属性:音量,等.那么所要做的就是找到这个类,创建一个声音对象,调用相应的方法即可.框架是系统提供的对于一些已经封装好的,程序中开发中必定会接触到的对象.比如我们少不了和字符串打交道,和数字打交道,和数组打交道,于是系统就提供了封装了NSString类,NSArray类,NSNumber类等等,将他们封装在Foundation框架中.于是我们只需要声明Foundation框架,就可以利用已经封装好的类(对象).那么,第一步应该是确定,声音对象被封装在哪个框架下.
#include <CoreFoundation/CoreFoundation.h>#import <Foundation/NSObjCRuntime.h>#import <Foundation/NSArray.h>#import <Foundation/NSAutoreleasePool.h>#import <Foundation/NSBundle.h>#import <Foundation/NSByteOrder.h>#import <Foundation/NSCalendar.h>
点进#import
#import <AVFoundation/AVAudioMix.h>#import <AVFoundation/AVAudioProcessingSettings.h>和#import <AVFoundation/AVFAudio.h>和#import <AVFoundation/AVPlayer.h>#import <AVFoundation/AVPlayerItem.h>#import <AVFoundation/AVPlayerItemOutput.h>#import <AVFoundation/AVPlayerItemProtectedContentAdditions.h>#import <AVFoundation/AVPlayerItemTrack.h>#import <AVFoundation/AVPlayerLayer.h>
于是找啊找,找到#import
#import <AVFoundation/AVAudioBuffer.h>#import <AVFoundation/AVAudioChannelLayout.h>#import <AVFoundation/AVAudioConnectionPoint.h>#import <AVFoundation/AVAudioConverter.h>#import <AVFoundation/AVAudioEngine.h>
让我乐一会儿……
AVFoundation中还有
#import <AVFoundation/AVAsset.h>#import <AVFoundation/AVAssetExportSession.h>............#import <AVFoundation/AVCaptureDevice.h>#import <AVFoundation/AVCaptureInput.h>............#import <AVFoundation/AVVideoCompositing.h>#import <AVFoundation/AVVideoComposition.h>
推想:
AVVedio是处理视频的类么?AVPlayer是处理播放器的类么?
// NSURL *url = [NSURL URLWithString:@"file:///Users/yufang/Music/网易云音乐/Adele - Someone Like You.mp3"]; **NSURL *url = [[NSURL alloc]initFileURLWithPath:@"/Users/yufang/Music/网易云音乐/Adele - Someone Like You.mp3"];**第二步:因为是用initWithContentsOfURL构造方法初始化的,要求传一个url,本着所谓面向对象的编程就是找对象,没有对象创建对象.于是创建一个url对象.因为快速创建对象方法比较便捷,所以首先考虑使用类方法URLWithString,之前学习url提到了本地文件和网络文件的区别,说是本地文件的scheme使用"file——当地电脑或网上分享的文件",但是似乎不行.控制台输出错误" Error Domain=NSOSStatusErrorDomain Code=-10875 "(null)"";去掉"file://"也是一样. 于是尝试其他的初始化方法,找到了构造方法initFileURLWithPath,前面并没有写"file://",路径是全路径.OK啦. //url是统一资源定位符, **static AVAudioPlayer *player;**第一步:因为声音播放是延时性的,而创建的声音对象的引用是局部变量,当该方法一执行完就被释放,所以,需要将声音对象的引用声明为全局变量. NSError *err; player = [[AVAudioPlayer alloc]initWithContentsOfURL:url error:&err]; [player play]; NSLog(@"%@",err);
问题:
url是什么?和文件简介中的路径有什么区别?文件简介中的路径是本机路径.
如何根据url确定一个本地文件?网络资源?
初始化方法initFileURLWithPath和URLWithString方法异同?如何通过URLWithString方法拿到我的声音文件?
什么是url
url是uniform resource locator,意为统一资源定位符,说白了就是地址,网上资源的唯一地址.拿到它就可以拿到对应的资源.url是uri(Uniform Resource Identifier —统一资源标示符)的一种.”统一资源标志符确定一个资源,而统一资源定位符不但确定一个资源,而且还表示出它在哪里。”
url由这几部分组成:
协议 服务器名称(IP地址) 文件路径 文件名
有时候IP后接”:”冒号,包括访问该服务器的账户,密码
url又可以分为绝对url,和相对url,绝对url就是全路径.
url本身也是有路径的,如果目标文件也在当前目录,那么只需要”文件名”即可.
NSURL
0 0
- ios如何处理声音
- IOS 声音处理
- ios如何播放系统声音
- iOS声音播放及音效处理开源代码_SoundManager
- iOS 设备 检测声音输出设备及耳机麦克风的处理
- ios中有关声音的处理参数说明
- 如何对录制声音快速进行后期处理
- iOS如何获取设备声音和振动功能
- ios如何实现静音模式下声音仍然可以外放
- IOS-播放声音,中断声音
- JAVA的声音处理
- 详细介绍声音处理
- Symbian中声音处理
- 处理声音流文件
- 声音信号处理
- Symbian中声音处理
- AS3.0声音处理
- Matlab声音处理教程
- Android 编程技巧之 ----- ViewHolder 的简洁封装
- CUDA编程实践--cuBLAS
- Linux下软连接和硬链接的关系
- XML相关
- Java 入门 之 开发环境的安装
- ios如何处理声音
- structs和spring的MVC优势
- 【Activiti 基础篇四】流程变量设置与获取方式
- Android startservice & bindservice的区别
- 《leetCode》:Validate Binary Search Tree
- Cloud Native概念
- chrome卡死崩溃
- 3. Longest Substring Without Repeating Characters 无重复字符的最长子字符串
- Java开发必会的Linux命令