音頻視頻

1.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 = -1;
?[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];
?}
2.播放背景音樂,利用類進行播放
《《《背景音樂播放 支持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:1]; //設置音量大小

?myBackMusic.numberOfLoops = -1;//設置音樂播放次數 -1為一直循環 ,將音頻播放器的numberOfLoops屬性設為負數使得播放無限循環

?NSLog(@"%f seconds played so far", audioPlayer.currentTime); //查看播放的初始時間,也就是從多少秒開始播放

?audioPlayer.currentTime?=?10; // jump to the 10 second mark //設置播放開始的時間

?[myBackMusic play]; //播放

?[myBackMusic pause];

?[myBackMusic stop];

}

?

?

3.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);

?

1、獲取全局的Delegate對象,這樣我們可以調用這個對象里的方法和變量:

[(MyAppDelegate*)[[UIApplication sharedApplication] delegate] MyMethodOrMyVariable];

2、獲得程序的主Bundle:

NSBundle *bundle = [NSBundle mainBundle];

Bundle可以理解成一種文件夾,其內容遵循特定的框架。

Main Bundle一種主要用途是使用程序中的資源文件,如圖片、聲音、plst文件等。

NSURL *plistURL = [bundle URLForResource:@"plistFile" withExtension:@"plist"];

上面的代碼獲得plistFile.plist文件的路徑。

3、在程序中播放聲音:

首先在程序添加AudioToolbox:

其次,在有播放聲音方法的.m方法添加#import:

#import

接下來,播放聲音的代碼如下:

NSString *path = [[NSBundle mainBundle] pathForResource:@"soundFileName" ofType:@"wav"];

SystemSoundID soundID;

AudioServicesCreateSystemSoundID ((__bridge CFURLRef)[NSURL fileURLWithPath:path], &soundID);

AudioServicesPlaySystemSound (soundID);

4、設置和獲取類中屬性值:

[self setValue: 變量值 forKey: 變量名];

[self valueForKey: 變量名];

5、讓某一方法在未來某段時間之后執行:

[self performSelector:@selector(方法名) withObject:nil afterDelay:延遲時間(s)];

6、獲得設備版本號:

float version = [[[UIDevice currentDevice] systemVersion] floatValue];

7、捕捉程序關閉或者進入后臺事件:

UIApplication *app = [UIApplication sharedApplication];

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(applicationWillResignActive:) name:UIApplicationWillResignActiveNotification object:app];

applicationWillResignActive:這個方法中添加想要的操作

8、查看設備支持的字體:

for (NSString *family in [UIFont familyNames]) {

NSLog(@"%@", family);

for (NSString *font in [UIFont fontNamesForFamilyName:family]) {

NSLog(@"\t%@", font);

}

}

9、為UIImageView添加單擊事件:

imageView.userInteractionEnabled = YES;

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(yourHandlingCode:)];

[imageView addGestureRecognizer:singleTap];

10、添加多語言支持: 比如Image Picker這樣的組件,它上面的按鈕的文字是隨著設備語言環境的改變而改變的,但是要先在工程添加語言:

11、使程序支持iTunes這樣的設備,比如可以使用PC端的工具往程序的Documents中拖放文件。

12、頁面切換效果設置:

controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical;

[self presentModalViewController:controller animated:YES];

可供使用的效果:

UIModalTransitionStyleCoverVertical

UIModalTransitionStyleFlipHorizontal

UIModalTransitionStyleCrossDissolve

UIModalTransitionStylePartialCurl

恢復之前的頁面:

[self dismissModalViewControllerAnimated:YES];

via?Devdiv

轉載于:https://www.cnblogs.com/jx66/p/5112243.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396967.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396967.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396967.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

二分查找、變形及應用

[LeetCode] 35 Search Insert Position 題目 Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.You may assume no duplicates in the array. 測試案例 Input: […

linux內核怎么修改屏幕旋轉方向_樹莓派4—屏幕旋轉

配置&#xff1a;樹莓派4raspberry pi系統&#xff0c;HDMI顯示&#xff0c;非觸屏。問題&#xff1a;想將屏幕旋轉90&#xff0c;按網上說的&#xff0c;方法一&#xff1a;在config.txt文件中添加display_rotate1&#xff0c;或者添加display_hdmi_rotate1&#xff0c;保存后…

周記隨筆-php5.6與apache2.4的windows32安裝

原材料&#xff1a;php.net , httpd.apache.org/download.cgi Apache的安裝 &#xff0c;在下載頁面有依賴關系的說明 。 下載對應版本的壓縮包&#xff0c;解壓至目標目錄&#xff0c;例如D盤根目錄&#xff0c;首先修改配置 1 serverRoot: ServerRoot "c:/Apache24"…

獨家直播!阿里移動前端開源框架Weex揭秘

或許你寫過了很多行代碼&#xff0c;修過許多的bug&#xff0c;學過各種各樣的語言&#xff0c;卻只在一個最好的時機遇見了他…… 是啥&#xff1f; 敲&#xff01;黑&#xff01;板&#xff01;跟&#xff01;我&#xff01;念&#xff01;Weex&#xff5e;&#xff5e;&…

python異常值處理實例_利用Python進行異常值分析實例代碼

前言 異常值是指樣本中的個別值&#xff0c;也稱為離群點&#xff0c;其數值明顯偏離其余的觀測值。常用檢測方法3σ原則和箱型圖。其中&#xff0c;3σ原則只適用服從正態分布的數據。在3σ原則下&#xff0c;異常值被定義為觀察值和平均值的偏差超過3倍標準差的值。P(|x?μ|…

MSSQL 發布訂閱,實現讀寫分離

主庫做增刪改&#xff0c;從庫只讀。 大部分的數據庫壓力&#xff0c;都是由查詢引起的&#xff0c;讀寫分離可以減輕數據庫的壓力。 1、在(主)數據庫上對需要同步的數據進行發布。 2、在(從)數據庫上對(主)數據庫的發布進行訂閱。 注&#xff1a;發布訂閱都需要實際的服務器名…

php get為空,php – $_GET在url有變量時為空

我有一個看起來像這個reglph的文件&#xff1f;lang no_NO& passkey test并試圖獲取密碼變量,但它一直顯示為空白.當我嘗試print_r($_ GET);它打印Array()?!怎么會發生這種情況&#xff1f;該網站看起來像這樣print_r($_GET);include(..\libs\Smarty.class.php);?>A…

Block

1、認識Block Block封裝了一段代碼,可以在任何時候執行Block可以作為函數參數或者函數的返回值&#xff0c;而其本身又可以帶輸入參數或返回值&#xff0c;它和傳統的函數指針很類似&#xff0c;但是有區別&#xff1a;block是inline&#xff08;內聯函數&#xff09;的&#x…

堅持學習WF(8):本地服務之調用外部方法

WF提供了一組核心服務&#xff0c;例如在SQL 數據庫中存儲工作流實例的執行詳細信息的持久性服務&#xff0c;計劃服務&#xff0c;事務服務和跟蹤服務。除了這些WF也提供了另外一種服務&#xff0c;叫做Local Service也可以叫做Data exchange service。主要是實現工作流和宿主…

c++歸并排序_合并排序法

一、合并排序(Merge Sort) 就是將多個有序數據表合并成一個有序數據表。如果參與合并的只有兩個有序表&#xff0c;那么稱為二路合并。對于一個原始的待排序序列&#xff0c;往往可以通過分割的方法來歸結為多路合并排序。二、一個待排序的原始數據序列進行合并排序的基本思路是…

golang json數組拼接

2016年06月16日 15:38:25 閱讀數&#xff1a;2575 標簽&#xff1a; golang json 數組 更多 個人分類&#xff1a; golang func main() {a : []byte({"Parents": [ "aaaaa", "bbbbbbb" ]})b : []byte({"Parents": [ "Gomez"…

php課程設計實驗心得,PHP程序設計教程實驗及課程設計

部分 教程1 基礎教程1.1 簡介1.2 WampServer安裝1.3 PHP語法1.4 變量1.5 echo和print語句1.6 數據類型1.7 字符串函數1.8 常量1.9 運算符1.10 條件語句1.11 Switch語句1.12 循環語句1.13 函數部分 教程1 基礎教程1.1 簡介1.2 WampServer安裝1.3 PHP語法1.4 變量1.5 echo和print…

DRUID連接池的簡單使用

DRUID——為監控而生的DB池 1. DRUID介紹 DRUID是阿里巴巴開源平臺上一個數據庫連接池實現&#xff0c;它結合了C3P0、DBCP、PROXOOL等DB池的優點&#xff0c;同時加入了日志監控&#xff0c;可以很好的監控DB池連接和SQL的執行情況&#xff0c;可以說是針對監控而生的DB連接池…

微習慣雖好,但是最重要的還是堅持

2019獨角獸企業重金招聘Python工程師標準>>> “微習慣”一詞是由美國的斯蒂芬蓋斯提出的。他以前是個宅男&#xff0c;懶蟲&#xff0c;為了改變自己而找到了這個方法。并且在自己身上實驗成功。養成了好的讀書、寫作和健身的習慣&#xff0c;實現了人生的華麗轉身。…

php手機端多圖預覽上傳,JS實現多圖預覽上傳的實例代碼

這篇文章主要介紹了JS實現多張圖片預覽同步上傳功能的相關資料,需要的朋友可以參考下廢話不多說了&#xff0c;直接給大家貼代碼了&#xff0c;具體代碼如下所示&#xff1a;/*** Created by liujing on 2017/5/10.*/$(document).ready(function($) {function changef(which,bu…

帶你了解zabbix整合ELK收集系統異常日志觸發告警~

今天來了解一下關于ELK的“L”-Logstash,沒錯&#xff0c;就是這個神奇小組件&#xff0c;我們都知道&#xff0c;它是ELK不可缺少的組件&#xff0c;完成了輸入&#xff08;input&#xff09;&#xff0c;過濾&#xff08;fileter&#xff09;&#xff0c;output&#xff08;輸…

用python設計學生管理系統_Python實現GUI學生信息管理系統

本文實例為大家分享了Python實現GUI學生信息管理系統的具體代碼&#xff0c;供大家參考&#xff0c;具體內容如下 項目環境&#xff1a; 軟件環境: OS:RedHat6.3 Lib:Pygtk Language:Python Support tool:Glade3 項目簡述&#xff1a; ①Glade3設計用戶的登錄窗口&#xff0c;功…

http響應頭設置

protected void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 設置響應頭數據response.setHeader(null, "HTTP/1.1 200 OK");response.setHeader("Server", "Apache-Coyote/1.1"…

java用數組實現單詞計數,MapReduce實現單詞計數原理及Java編程:WordCount

MapReduce實現單詞計數&#xff1a;WordCount單詞計數的文本信息(hello.txt)&#xff1a;hello can i help youi have a dreammaybe you can help me? 實現過程&#xff1a;? Map過程&#xff1a;并行讀取文本&#xff0c;對讀取的單詞進行Map操作&#xff0c;每個詞將會形成…

python理論知識選擇題_Python基礎自測題答案和基礎知識梳理

Python基礎自測題答案和基礎知識梳理 1.關于Python中的lambda表達式的函數體自能是單獨一條語句&#xff0c;所以答案選擇C。 例如&#xff1a;>>>g lambda x: 2*x1 g(3) 7 2.Python中的變量不需要事先聲明&#xff0c;但是需要創建和賦值&#xff0c;否則你怎么用&a…