- 浏览: 702988 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
shappy1978:
自己踩死自己了,我还是有远见的嘛
该死的微软,该死的IE -
calosteward:
I know Zxing and shopsavvy, bot ...
[trans]COMPARISON OF MOBILE BARCODE SCANNERS -
qq690388648:
唉……四年前的Bug,现在还没改,Apache也有不足的地方啊 ...
POI解析Word表格备忘 -
shappy1978:
Now I get to say that every met ...
Jailbreak Detection on iOS -
hebeixiaolei:
你好,我想问一下,用poi如何往word文档里插入超链接呀!
POI读取Word文档总结
iOS sdk中提供了很多方便的方法来播放多媒体。本文将利用这些SDK做一个demo,来讲述一下如何使用它们来播放音频文件。 AudioToolbox framework 使用AudioToolbox framework。这个框架可以将比较短的声音注册到 system sound服务上。被注册到system sound服务上的声音称之为 system sounds。它必须满足下面几个条件。 1、 播放的时间不能超过30秒 2、数据必须是 PCM或者IMA4流格式 3、必须被打包成下面三个格式之一:Core Audio Format (.caf), Waveform audio (.wav), 或者 Audio Interchange File (.aiff) 声音文件必须放到设备的本地文件夹下面。通过AudioServicesCreateSystemSoundID方法注册这个声音文件,AudioServicesCreateSystemSoundID需要声音文件的url的CFURLRef对象。看下面注册代码: 这样就可以使用下面代码播放声音了: 使用下面代码,还加一个震动的效果: AVFoundation framework 对于压缩过Audio文件,或者超过30秒的音频文件,可以使用AVAudioPlayer类。这个类定义在AVFoundation framework中。 下面我们使用这个类播放一个mp3的音频文件。首先要引入AVFoundation framework,然后MediaPlayerViewController.h中添加下面代码: AVAudioPlayer类也是需要知道音频文件的路径,使用下面代码创建一个AVAudioPlayer实例: 我们可以在一个button的点击事件中开始播放这个mp3文件,如: 这样运行我们的程序,就可以播放音乐了。 这个类对应的AVAudioPlayerDelegate有两个委托方法。一个是 audioPlayerDidFinishPlaying:successfully: 当音频播放完成之后触发。当播放完成之后,可以将播放按钮的文本重新回设置成:Play Audio File 另一个是audioPlayerEndInterruption:,当程序被应用外部打断之后,重新回到应用程序的时候触发。在这里当回到此应用程序的时候,继续播放音乐。 MediaPlayer framework 播放电影文件: iOS sdk中可以使用MPMoviePlayerController来播放电影文件。但是在iOS设备上播放电影文件有严格的格式要求,只能播放下面两个格式的电影文件。 • H.264 (Baseline Profile Level 3.0) 幸运的是你可以先使用iTunes将文件转换成上面两个格式。 这个类定义在MediaPlayer framework中。在你的应用程序中,先添加这个引用,然后修改MediaPlayerViewController.h文件。 下面我们使用这个类来播放一个.m4v 格式的视频文件。与前面的类似,需要一个url路径。 MPMoviePlayerController有一个视图来展示播放器控件,我们在viewDidLoad方法中,将这个播放器展示出来。 还有一个MPMoviePlayerViewController类,用于全屏播放视频文件,用法和MPMoviePlayerController一样。 我们在听音乐的时候,可以用iphone做其他的事情,这个时候需要播放器在后台也能运行,我们只需要在应用程序中做个简单的设置就行了。 1、在Info property list中加一个 Required background modes节点,它是一个数组,将第一项设置成设置App plays audio。 2、在播放mp3的代码中加入下面代码: 在后台运行的播放音乐的功能在模拟器中看不出来,只有在真机上看效果。 总结:本文通过例子详细讲解了iOS sdk中用于播放音频文件的类,文章后面有本文的代码提供下载。 作者:朱祁林iOS开发之多媒体播放
#import <AudioToolbox/AudioToolbox.h>
@interface MediaPlayerViewController : UIViewController
{
IBOutlet UIButton *audioButton;
SystemSoundID shortSound;
}- (id)init
{
self = [super initWithNibName:@"MediaPlayerViewController" bundle:nil];
if (self) {
// Get the full path of Sound12.aif
NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"Sound12"
ofType:@"aif"];
// If this file is actually in the bundle...
if (soundPath) {
// Create a file URL with this path
NSURL *soundURL = [NSURL fileURLWithPath:soundPath];
// Register sound file located at that URL as a system sound
OSStatus err = AudioServicesCreateSystemSoundID((CFURLRef)soundURL,
&shortSound);
if (err != kAudioServicesNoError)
NSLog(@"Could not load %@, error code: %d", soundURL, err);
}
}
return self;
}- (IBAction)playShortSound:(id)sender
{
AudioServicesPlaySystemSound(shortSound);
}- (IBAction)playShortSound:(id)sender
{
AudioServicesPlaySystemSound(shortSound);
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}#import <AVFoundation/AVFoundation.h>
@interface MediaPlayerViewController : UIViewController <AVAudioPlayerDelegate>
{
IBOutlet UIButton *audioButton;
SystemSoundID shortSound;
AVAudioPlayer *audioPlayer;- (id)init
{
self = [super initWithNibName:@"MediaPlayerViewController" bundle:nil];
if (self) {
NSString *musicPath = [[NSBundle mainBundle] pathForResource:@"Music"
ofType:@"mp3"];
if (musicPath) {
NSURL *musicURL = [NSURL fileURLWithPath:musicPath];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:musicURL
error:nil];
[audioPlayer setDelegate:self];
}
NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"Sound12"
ofType:@"aif"];- (IBAction)playAudioFile:(id)sender
{
if ([audioPlayer isPlaying]) {
// Stop playing audio and change text of button
[audioPlayer stop];
[sender setTitle:@"Play Audio File"
forState:UIControlStateNormal];
}
else {
// Start playing audio and change text of button so
// user can tap to stop playback
[audioPlayer play];
[sender setTitle:@"Stop Audio File"
forState:UIControlStateNormal];
}
}- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player
successfully:(BOOL)flag
{
[audioButton setTitle:@"Play Audio File"
forState:UIControlStateNormal];
}- (void)audioPlayerEndInterruption:(AVAudioPlayer *)player
{
[audioPlayer play];
}
• MPEG-4 Part 2 video (Simple Profile)
MPMoviePlayerController还可以播放互联网上的视频文件。但是建议你先将视频文件下载到本地,然后播放。如果你不这样做,iOS可能会拒绝播放很大的视频文件。#import <MediaPlayer/MediaPlayer.h>
@interface MediaPlayerViewController : UIViewController <AVAudioPlayerDelegate>
{
MPMoviePlayerController *moviePlayer;- (id)init
{
self = [super initWithNibName:@"MediaPlayerViewController" bundle:nil];
if (self) {
NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"Layers"
ofType:@"m4v"];
if (moviePath) {
NSURL *movieURL = [NSURL fileURLWithPath:moviePath];
moviePlayer = [[MPMoviePlayerController alloc]
initWithContentURL:movieURL];
}- (void)viewDidLoad
{
[[self view] addSubview:[moviePlayer view]];
float halfHeight = [[self view] bounds].size.height / 2.0;
float width = [[self view] bounds].size.width;
[[moviePlayer view] setFrame:CGRectMake(0, halfHeight, width, halfHeight)];
}MPMoviePlayerViewController *playerViewController =
[[MPMoviePlayerViewController alloc] initWithContentURL:movieURL];
[viewController presentMoviePlayerViewControllerAnimated:playerViewController]; if (musicPath) {
NSURL *musicURL = [NSURL fileURLWithPath:musicPath];
[[AVAudioSession sharedInstance]
setCategory:AVAudioSessionCategoryPlayback error:nil];
audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:musicURL
error:nil];
[audioPlayer setDelegate:self];
}
出处:http://zhuqil.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
发表评论
-
Xib Enhanced by XCode8
2016-12-05 17:02 726I have a solution: Open stor ... -
Script to Build Universal Lib
2016-11-30 11:06 717https://www.raywenderlich.com/ ... -
Fortify Scan
2016-11-21 18:53 1300sourceanalyzer -b buidl_id -Xm ... -
Inside Code Signing
2016-11-17 14:44 608Mac OS Version 10.0 Cheeta 1 ... -
Cross Compile Script of Tesseract
2016-11-14 18:51 903The script on internet is both ... -
Homebrew saying Xcode is outdated
2016-10-28 18:44 559http://stackoverflow.com/ques ... -
iOS开发--适配iOS 10以及Xcode 8
2016-10-17 15:35 595http://www.cocoachina.com/ios/ ... -
install app to simulator
2016-09-26 16:44 1017前言 刚刚接触iOS的时候,我就一直很好奇,模拟器上面能不 ... -
issues in XCode 8
2016-09-26 16:37 645http://www.cocoachina.com/bbs/ ... -
XCode Plugin
2016-07-15 18:43 712* cmd+shift+9 //manage plugi ... -
Speedup Coding in XCode
2016-07-15 17:52 523www.cocoachina.com/ios/201607 ... -
Wifi API in iOS
2016-07-15 10:31 461查漏补缺集是自己曾经做过相关的功能,但是重做相关功能或者 ... -
About Hockey App
2016-07-04 11:38 498* free acc can only has 2 app, ... -
Appium Device Test
2016-06-29 17:18 399* set udid, device name won't ... -
[Trans] Integration between OC and JS
2016-06-28 18:47 495iOS 开发中,我们时不时的需要加载一些 Web ... -
Jenkins iOS Automation Comment
2016-06-24 16:47 594* SDK null will by default bui ... -
Salabash Test Comment
2016-06-08 19:29 433* Device test need to enable U ... -
Calabash
2016-06-02 18:24 709//calabash-cucumber for ios ... -
BDD Setup
2016-05-20 15:04 538—brew /usr/bin/ruby -e " ... -
Setup Git
2016-04-01 19:23 567http://www.tomdalling.com/blo ...
相关推荐
"Laravel开发-trans"项目显然与Laravel框架中的国际化(i18n)和本地化(l10n)功能有关,特别是涉及到翻译和处理Right-to-Left (RTL)语言的场景。 在Laravel中,国际化是通过`trans`函数实现的,它允许开发者为...
TransMac是一款专为Windows用户设计的软件,它允许用户轻松地与Apple的Mac OS系统进行交互,特别是处理与Mac相关的文件格式和磁盘操作。在标题"TransMac11.4免安装版"中,我们可以理解这个版本是11.4的TransMac,...
3. **刻录.dmg镜像**:软件的核心功能之一是刻录Mac OS的.dmg镜像到CD、DVD或闪存驱动器上,这在安装Mac应用或者恢复系统时尤为实用。 4. **转换磁盘格式**:TransMac还支持将非Mac格式的磁盘转换为HFS+或APFS格式...
TransMac是一款专为Windows用户设计的软件,它允许用户方便地与Apple的Mac OS文件系统进行交互,包括读取、写入以及管理Mac格式化的磁盘和存储设备,如HFS、HFS+、APFS等。这个压缩包“TransMac 12.3.rar”包含了...
TransE算法是知识图谱表示学习领域的一种经典方法,它由Nicolas Usunier等人在2013年提出。该算法的主要目的是将实体和关系映射到一个低维向量空间,使得在这个空间中,关系可以被视为实体之间的翻译操作。这种直观...
"TransMac" 标签明确了我们要讨论的主题,TransMac是一款由Acute Systems开发的软件,主要用于读写Mac格式的硬盘和光盘,包括HFS、HFS+和APFS文件系统。这对于在Windows系统下管理苹果设备或备份Mac数据非常关键。 ...
transmac10.4 ios固件编辑工具
《 TranSE算法实现及测试详解 》 在知识图谱的研究与应用中,实体关系的表示学习是一项核心任务。TranSE(Translation-based Knowledge Graph Embedding)算法是其中的一种经典模型,它通过向量空间中的翻译操作来...
- APFS(Apple File System)是苹果在2017年推出的新一代文件系统,具有加密、快照、空间共享等功能,适用于iOS、macOS以及watchOS等平台。 2. **Transmac 10.4 主要功能** - **读取Mac磁盘**:用户可以使用Trans...
1. **数据转换**:这是Trans-Formas的核心功能之一,可能涉及到将原始数据从一种格式或结构转换为另一种格式或结构,以便更好地适应分析需求。例如,从CSV文件转换为数据库表,或者将JSON数据解析成可读的表格形式。...
《transMac:跨越平台的苹果系统管理利器》 在IT领域,尤其是在苹果用户群体中,transMac是一款不可或缺的工具,它允许Windows用户轻松地管理和处理Mac格式的硬盘、USB驱动器以及DMG映像文件。"transMac.zip"这个...
transmac 10.3 注册版,在Win下访问Mac分区并操作的软件 高于这个版本的找不到序列号
TransMac是一款由Acronis公司开发的软件,它允许用户在非Mac电脑上读写Mac格式的硬盘和闪存驱动器,包括DMG、sparsebundle、HFS+和APFS等苹果特有的文件系统。 描述中提到的“Windows版,需要的可以尝试”,意味着...
TransMAC12.2是一个在Windows下写入苹果镜像的软件,一般用于将原版MacOS原版镜像烧录到U盘,安装黑苹果必备,这个最新的12.2破解版,解压后替换主文件即可完成破解
Java开发案例-springboot-49-整合Easy-Trans搞定数据翻译-源代码+文档.rar Java开发案例-springboot-49-整合Easy-Trans搞定数据翻译-源代码+文档.rar Java开发案例-springboot-49-整合Easy-Trans搞定数据翻译-源代码...
TransMac11破解版 黑苹果安装专用 小白们来下载
ieee trans 类文章总结 例如IEEE TRANSACTIONS ON ADVANCED PACKAGING ADVP IEEE Trans. Adv. Packag. CPMTB* IEEE Trans. Compon., Packag., Manuf. Technol. B* (1994–1998) IEEE TRANSACTIONS ON AEROSPACE ...
TransMac.11.0内附注册,在windows下制作mac的启动盘
TransMac是一款专为Windows用户设计的软件,用于方便地读取、写入及管理Macintosh格式的硬盘和光盘。这个工具在“黑苹果”(Hackintosh)领域中尤其重要,因为很多Windows用户想要访问或操作苹果Mac OS系统格式化的...