IOS开发小技巧(视频和音乐播放).IOS视频播放代码(添加MediaPlayer.framework和#import)

    -(void)playMovie:(NSString *)fileName{
//视频文件路径
NSString *path = [[NSBundle mainBundle] pathForResource:fileName ofType:@"mp4"];
//视频URL
NSURL *url = [NSURL fileURLWithPath:path];
//视频播放对象
MPMoviePlayerController *movie = [[MPMoviePlayerController alloc] initWithContentURL:url];
movie.controlStyle = MPMovieControlStyleFullscreen;
[movie.view setFrame:self.view.bounds];
movie.initialPlaybackTime = -;
[self.view addSubview:movie.view];
// 注册一个播放结束的通知
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(myMovieFinishedCallback:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:movie];
[movie play];
} #pragma mark -------------------视频播放结束委托-------------------- -(void)myMovieFinishedCallback:(NSNotification*)notify
{
//视频播放对象
MPMoviePlayerController* theMovie = [notify object];
//销毁播放通知
[[NSNotificationCenter defaultCenter] removeObserver:self
name:MPMoviePlayerPlaybackDidFinishNotification
object:theMovie];
[theMovie.view removeFromSuperview];
// 释放视频对象
[theMovie release];
}
.播放背景音乐,利用类进行播放
《《《背景音乐播放 支持mp3格式 循环播放长音乐 这种播放音乐的方式导入框架 #import <AVFoundation/AVFoundation.h>; #import <UIKit/UIKit.h> { AVAudioPlayer *myBackMusic; } //上边的步骤很重要,必须在h文件中实例化。不知道为什么,直接在M文件中实例化,会播不出来声音。 下边是M文件中的 -(void)viewDidLoad { NSString *musicFilePath = [[NSBundle mainBundle] pathForResource:@"changan" ofType:@"mp3"]; //创建音乐文件路径 NSURL *musicURL = [[NSURL alloc] initFileURLWithPath:musicFilePath]; AVAudioPlayer *thePlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:musicURL error:nil]; //创建播放器 myBackMusic = thePlayer; //赋值给自己定义的类变量 [musicURL release]; [thePlayer release]; [myBackMusic prepareToPlay]; [myBackMusic setVolume:]; //设置音量大小 myBackMusic.numberOfLoops = -;//设置音乐播放次数 -1为一直循环 ,将音频播放器的numberOfLoops属性设为负数使得播放无限循环 NSLog(@"%f seconds played so far", audioPlayer.currentTime); //查看播放的初始时间,也就是从多少秒开始播放 audioPlayer.currentTime = ; // jump to the 10 second mark //设置播放开始的时间 [myBackMusic play]; //播放 [myBackMusic pause]; [myBackMusic stop]; } .IOS播放一段声音(添加AudioToolbox.framework和#import) 《《《主要用来播放一段声音,比如点击的声音,敲打 其次,在有播放声音方法的.m方法添加#import: #import 接下来,播放声音的代码如下: NSString *path = [[NSBundle mainBundle] pathForResource:@"soundFileName" ofType:@"wav"]; SystemSoundID soundID; AudioServicesCreateSystemSoundID ((__bridge CFURLRef)[NSURL fileURLWithPath:path], &soundID); AudioServicesPlaySystemSound (soundID); 、获取全局的Delegate对象,这样我们可以调用这个对象里的方法和变量: [(MyAppDelegate*)[[UIApplication sharedApplication] delegate] MyMethodOrMyVariable]; 、获得程序的主Bundle: NSBundle *bundle = [NSBundle mainBundle]; Bundle可以理解成一种文件夹,其内容遵循特定的框架。 Main Bundle一种主要用途是使用程序中的资源文件,如图片、声音、plst文件等。 NSURL *plistURL = [bundle URLForResource:@"plistFile" withExtension:@"plist"]; 上面的代码获得plistFile.plist文件的路径。 、在程序中播放声音: 首先在程序添加AudioToolbox: 其次,在有播放声音方法的.m方法添加#import: #import 接下来,播放声音的代码如下: NSString *path = [[NSBundle mainBundle] pathForResource:@"soundFileName" ofType:@"wav"]; SystemSoundID soundID; AudioServicesCreateSystemSoundID ((__bridge CFURLRef)[NSURL fileURLWithPath:path], &soundID); AudioServicesPlaySystemSound (soundID); 、设置和获取类中属性值: [self setValue: 变量值 forKey: 变量名]; [self valueForKey: 变量名]; 、让某一方法在未来某段时间之后执行: [self performSelector:@selector(方法名) withObject:nil afterDelay:延迟时间(s)]; 、获得设备版本号: float version = [[[UIDevice currentDevice] systemVersion] floatValue]; 、捕捉程序关闭或者进入后台事件: UIApplication *app = [UIApplication sharedApplication]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillResignActive:) name:UIApplicationWillResignActiveNotification object:app]; applicationWillResignActive:这个方法中添加想要的操作 、查看设备支持的字体: for (NSString *family in [UIFont familyNames]) { NSLog(@"%@", family); for (NSString *font in [UIFont fontNamesForFamilyName:family]) { NSLog(@"\t%@", font); } } 、为UIImageView添加单击事件: imageView.userInteractionEnabled = YES; UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(yourHandlingCode:)]; [imageView addGestureRecognizer:singleTap]; 、添加多语言支持: 比如Image Picker这样的组件,它上面的按钮的文字是随着设备语言环境的改变而改变的,但是要先在工程添加语言: 、使程序支持iTunes这样的设备,比如可以使用PC端的工具往程序的Documents中拖放文件。 、页面切换效果设置: controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical; [self presentModalViewController:controller animated:YES]; 可供使用的效果: UIModalTransitionStyleCoverVertical UIModalTransitionStyleFlipHorizontal UIModalTransitionStyleCrossDissolve UIModalTransitionStylePartialCurl 恢复之前的页面: [self dismissModalViewControllerAnimated:YES]; via Devdiv
 

ios 视频音乐播放的更多相关文章

  1. Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果

    目前Android的实现是:有来电时,音乐声音直接停止,铃声直接直接使用设置的铃声音量进行铃声播放. Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果. 如果 ...

  2. canvas 视频音乐播放器

    canvas 视频音乐播放器 var play_nor_img_path = 'images/play_btn_n.png'; //播放按钮 正常时 60x60 px var play_sec_img ...

  3. iOS开发-音乐播放

    现在的各种App大行其道,其实常用也就是围绕着吃喝玩乐基本的需求,视频,音乐在智能手机出现之前更是必不可少的功能,每个手机都会有一个自带的音乐播放器,当然公众也有自己的需求所以也就造就了各种音乐播放软 ...

  4. iOS在线音乐播放SZKAVPlayer(基于AVPlayer的封装)

    由于最近闲着没事,想找有关在线音乐播放的demo学习一下,在gitHub跟code4APP上面查找了很多帖子,结果很多在线音乐都是基于AudioStream实现的,我感觉用起来不太方便.后来突然发现, ...

  5. iOS 简单音乐播放器 界面搭建

    如图搭建一个音乐播放器界面,具备以下几个简单功能: 1,界面协调,整洁. 2,点击播放,控制进度条. 3.三收藏歌曲,点击收藏,心形收藏标志颜色加深. 4,左右按钮,切换歌曲图片和标题. 5,点击中间 ...

  6. iOS - 视频循环播放

    录制完视频后,我们想在录制视频的预览层上无限循环播放我们的小视频,是不是很炫酷,这时候我们就有三中选择了:1.MPMoviePlayerController2.AVPlayer3.AVAssetRea ...

  7. iOS开发-音乐播放(AVAudioPlayer)

    现在的手机的基本上没有人不停音乐的,我们无法想象在一个没有声音的世界里我们会过的怎么样,国内现在的主流的主流网易云音乐,QQ音乐,酷狗,虾米,天天基本上霸占了所有的用户群体,不过并没有妨碍大家对音乐的 ...

  8. iOS 调用音乐播放以及视频播放器

    音乐播放 NSString *path = [[NSBundle mainBundle] pathForResource:@"预谋" ofType:@"mp3" ...

  9. iOS多种刷新样式、音乐播放器、仿抖音视频、旅游App等源码

    iOS精选源码 企业级开源项目,模仿艺龙旅行App 3D立体相册,可以旋转的立方体 横竖屏切换工具,使用陀螺仪检测手机设备方向,锁屏状... Swift版Refresh(可以自定义多种样式)架构方面有 ...

随机推荐

  1. nyoj 16 矩形嵌套

    矩形嵌套 时间限制:3000 ms  |  内存限制:65535 KB 难度:4   描述 有n个矩形,每个矩形可以用a,b来描述,表示长和宽.矩形X(a,b)可以嵌套在矩形Y(c,d)中当且仅当a& ...

  2. linux下hexdump和od命令:显示文件十六进制格式

    Linux指令: od 示例用法:  od -c hello Linux指令:      od od命令用户通常使用od命令查看特殊格式的文件内容.通过指定该命令的不同选项可以以十进制.八进制.十六进 ...

  3. 教你50招提升ASP.NET性能(六):为了生动的用户体验,总是在客户端验证

    (12)For a snappy user experience, always validate on the client 招数12: 为了生动的用户体验,总是在客户端验证 To avoid un ...

  4. cocos2d-x 聊天输入框实现

    转自:http://bbs.9ria.com/thread-216948-1-10.html 聊天输入框  (单行输入框 ,多行可自己扩展) 实现功能: 1.普通输入 2.设置输入框显示最大宽度(PT ...

  5. 提高你的Java代码质量吧:如果有必要,使用变长数组吧

    一.分析  Java中的数组是定长的,一旦经过初始化声明就不可改变长度,这在实际使用中非常不方便. 二.场景  比如要对班级学生的信息进行统计,因为我们不知道一个班级会有多少学生(随时都有可能会有学生 ...

  6. ArcGIS教程:加权叠加

    摘要 使用经常使用測量比例叠加多个栅格数据,并依据各栅格数据的重要性分配权重. 插图 插图中,两个输入栅格已又一次分类为 1 至 3 三种公共測量级别.为每一个栅格均分配了一个影响百分比.这些像元值与 ...

  7. iOS开发——新特性OC篇&Objective新特性

    Objective新特性 Overview 自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时, ...

  8. HttpClient 4.3.* 上传带中文文件名文件文件名乱码问题的解决

    又是折腾了一天才解决的问题,网上关于这个问题的资料不多,希望写出来能帮到有需要的人. 之前无论怎么设置charset都不起作用, 后来看了这篇文章 才发现MultipartEntityBuilder有 ...

  9. Number of failed login attempts exceeds threshold value

    OEM发出好多告警,Number of failed login attempts exceeds threshold value. profile当前配置10次失败就会锁定user 查看下,dba_ ...

  10. Linux学习之路:shell变量(一)

    一.变量的显示与设置 1.变量的显示运用echo命令 +$符号: 上图例子显示的是系统变量,咱们可以自己设置变量 2.设置变量运用“=”符号 设置了变量NIU 值为“niunai” 变量设置规则: ( ...