精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何使用iPhone 播放 MIDI 文件方法

移動開發 iOS
本文介紹的是如何使用iPhone 播放 midi 文件方法,很詳細的為友們介紹了實力步驟,我們先來看內容。

iPhone 播放 midi 文件方法是本文要介紹的內容,吸納來看內容。iPhone 默認不帶播放MIDI的框架,所以播放MIDI還得尋求第3方的庫幫忙。這里使用的庫就是大名鼎鼎的 FMOD ,許多火爆游戲使用的都是這個庫。開發者可以免費下載使用。

首先下載安裝 FMOD API FOR IPHONE:http://www.fmod.org/index.php/release/version/fmodapi42607iphone- installer.dmg。

安裝后可以在目錄中看到不少示范代碼,可惜沒有MIDI

自己寫一個:)感謝強大的api,寫起來異常輕松。

新建一個基于view項目

修改項目屬性,添加 Other Linker Flags 為 -lfmodexL_$PLATFORM_NAME

添加 Header Search Paths :/Developer/FMOD Programmers API iPhone/api/inc (默認是這個位置,修改成自己FMOD安裝的目錄)

添加 Library Search Paths :/Developer/FMOD Programmers API iPhone/api/lib (同上)

把 appDelegate 修改成 .mm 的后綴

MIDI 播放需要一個 DLS 文件, 在osx 下沒找到,這里使用了xp 自帶的 gm.dls 文件(3M 有點大~),拷貝到項目中。

修改ViewController 代碼如下 ,隨便在xib文件中鏈接兩個按鈕action上即可

運行(真機有效)

主要代碼

  1.   //  
  2.   // PlayMidiDemoViewController.m  
  3.   // PlayMidiDemo  
  4.   //  
  5.   // Created by xhan on 9/9/09.  
  6.   // Copyright In-Blue 2009. All rights reserved.  
  7.   //  
  8.   #import "PlayMidiDemoViewController.h"  
  9.   @implementation PlayMidiDemoViewController  
  10.   @synthesize status;  
  11.   @synthesize time;  
  12.   void ERRCHECK(FMOD_RESULT result)  
  13.   {  
  14.   if (result != FMOD_OK)  
  15.   {  
  16.   fprintf(stderr, "FMOD error! (%d) %s ", result, FMOD_ErrorString(result));  
  17.   exit(-1);  
  18.   }  
  19.   }  
  20.   - (void)viewDidLoad {  
  21.   [super viewDidLoad];  
  22.   system = NULL;  
  23.   sound1 = NULL;  
  24.   sound2 = NULL;  
  25.   channel = NULL;  
  26.   }  
  27.   - (void)didReceiveMemoryWarning {  
  28.   // Releases the view if it doesn't have a superview.  
  29.     
  30.   [super didReceiveMemoryWarning];  
  31.   // Release any cached data, images, etc that aren't in use.  
  32.   }  
  33.   - (void)viewDidUnload {  
  34.   // Release any retained subviews of the main view.  
  35.   // e.g. self.myOutlet = nil;  
  36.   }  
  37.   - (void)dealloc {  
  38.   [status release], status = nil;  
  39.   [time release], time = nil;  
  40.   [super dealloc];  
  41.   }  
  42.   - (void)viewWillAppear:(BOOL)animated  
  43.   {  
  44.   FMOD_RESULT result = FMOD_OK;  
  45.   char buffer[200] = {0};  
  46.   unsigned int version = 0;  
  47.   /*  
  48.   Create a System object and initialize  
  49.   */  
  50.   result = FMOD::System_Create(&system);  
  51.   ERRCHECK(result);  
  52.   result = system->getVersion(&version);  
  53.   ERRCHECK(result);  
  54.   if (version < FMOD_VERSION)  
  55.   {  
  56.   fprintf(stderr, "You are using an old version of FMOD %08x. This program requires %08x ", version, FMOD_VERSION);  
  57.   exit(-1);  
  58.   }  
  59.   result = system->init(32, FMOD_INIT_NORMAL | FMOD_INIT_ENABLE_PROFILE, NULL);  
  60.   ERRCHECK(result);  
  61.   // set up DLS file  
  62.   FMOD_CREATESOUNDEXINFO soundExInfo;  
  63.   memset(&soundExInfo, 0, sizeof(FMOD_CREATESOUNDEXINFO));  
  64.   soundExInfo.cbsize = sizeof(FMOD_CREATESOUNDEXINFO);  
  65.   char dlsName[200] = {0};  
  66.   [[NSString stringWithFormat:@"%@/gm.dls", [[NSBundle mainBundle] resourcePath]] 
  67. getCString:dlsName maxLength:200 encoding:NSASCIIStringEncoding];  
  68.   soundExInfo.dlsname = dlsName;  
  69.   // midi one  
  70.   [[NSString stringWithFormat:@"%@/Bass_sample.mid", [[NSBundle mainBundle] resourcePath]] 
  71. getCString:buffer maxLength:200 encoding:NSASCIIStringEncoding];  
  72.   result = system->createSound(buffer, FMOD_SOFTWARE | FMOD_CREATESTREAM, &soundExInfo, &sound1);  
  73.   // ERRCHECK(result);  
  74.     
  75.   result = sound1->setMode(FMOD_LOOP_OFF);  
  76.   // ERRCHECK(result);  
  77.   // midi two  
  78.   [[NSString stringWithFormat:@"%@/Drum_sample.mid", [[NSBundle mainBundle] resourcePath]]
  79.  getCString:buffer maxLength:200 encoding:NSASCIIStringEncoding];  
  80.   result = system->createSound(buffer, FMOD_SOFTWARE | FMOD_CREATESTREAM, &soundExInfo, &sound2);  
  81.   result = sound2->setMode(FMOD_LOOP_OFF);  
  82.   // timer = [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(timerUpdate:) userInfo:nil repeats:YES];  
  83.   }  
  84.   - (IBAction)playSound1:(id)sender  
  85.   {  
  86.   FMOD_RESULT result = FMOD_OK;  
  87.   result = system->playSound(FMOD_CHANNEL_FREE, sound1, false, &channel);  
  88.   ERRCHECK(result);  
  89.   }  
  90.   - (IBAction)playSound2:(id)sender  
  91.   {  
  92.   FMOD_RESULT result = FMOD_OK;  
  93.   result = system->playSound(FMOD_CHANNEL_FREE, sound2, false, &channel);  
  94.   ERRCHECK(result);  
  95.   }  
  96.   - (void)timerUpdate:(NSTimer *)timer  
  97.   {  
  98.   }  
  99.   @end 

 

小結:關于如何使用iPhone 播放 MIDI 文件方法介紹完了,希望本文讀你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-07-22 15:59:15

iPhone 聲音 文件

2011-08-02 16:58:15

iPhone AVAudioPla 音頻播放

2011-08-17 14:57:31

iPhone應用視頻播放

2022-04-22 17:07:21

MIDI傳輸協議音樂技術

2009-06-14 21:47:14

MIDIJava程序

2011-08-10 15:58:58

iPhone視頻

2011-08-08 10:23:41

iPhone 流播放 文件

2011-07-18 15:32:14

iPhone 錄音 播放

2011-07-21 15:05:14

iPhone 數據庫

2011-08-18 13:37:57

iPhone項目靜態庫

2011-08-10 16:08:02

iPhoneProtocol協議

2009-08-25 14:26:28

C#播放AVI文件

2011-07-27 09:50:31

iPhone AVAudioPla 音頻

2011-07-20 16:21:20

iPhone 視頻 播放器

2011-08-08 18:19:09

iPhone音頻播放

2011-08-15 09:58:25

iPhoneXib文件UITableView

2011-07-26 16:33:56

iPhone Delegate

2011-08-08 14:07:49

iPhone開發 字體

2011-08-03 17:27:40

iPhone UIScrollVi

2011-08-12 13:35:23

iPhone文件流ASIHTTPRequ
點贊
收藏

51CTO技術棧公眾號

三级视频网站在线| 日本福利片在线观看| 在线观看网站免费入口在线观看国内| 国产精品一区二区三区99| 欧美国产视频一区二区| 欧美日韩一区二区三区四区五区六区| 好久没做在线观看| 99视频精品免费视频| 国产91精品久| 国产在线综合视频| а天堂中文最新一区二区三区| 亚洲免费毛片网站| 国严精品久久久久久亚洲影视 | wwwwww欧美| 可以免费看毛片的网站| 亚洲欧美日本视频在线观看| 在线不卡国产精品| а 天堂 在线| 丰满诱人av在线播放| 久久夜色精品一区| 成人有码在线播放| 欧美一级视频免费观看| 激情婷婷综合| 欧美电影精品一区二区| 欧美三级在线观看视频| 牛牛澡牛牛爽一区二区| 18岁网站在线观看| 亚洲一区欧美一区| 精品无码在线观看| 欧美国产精品日韩| 亚洲三区视频| 国产熟女一区二区三区四区| 午夜视频一区| 国产丝袜一区二区| 拔插拔插华人永久免费| 手机av免费在线| 久久久国际精品| 亚洲综合国产精品| 日本视频在线观看免费| 亚洲人成伊人成综合图片| 欧美精品乱码久久久久久| 正义之心1992免费观看全集完整版| 丁香六月天婷婷| 九九久久精品视频| 日产精品久久久一区二区福利| 欧美日韩午夜视频| 一道在线中文一区二区三区| 欧美一区二区福利在线| 亚洲精品中文字幕无码蜜桃| 国内小视频在线看| 中文字幕日韩一区二区| 欧美少妇一区| 日韩一级片免费在线观看| 久久成人av少妇免费| 91国内免费在线视频| 在线日韩国产网站| 欧美色就是色| 亚洲精品在线看| 挪威xxxx性hd极品| 视频一区视频二区欧美| 欧美日韩免费一区二区三区视频 | 清纯唯美亚洲经典中文字幕| 91 com成人网| 五月婷婷激情久久| 成人va天堂| 欧美色图在线视频| 女人喷潮完整视频| 国产免费拔擦拔擦8x在线播放 | 欧美一区二区三区在线电影| 日本中文字幕高清| 国产精品久久久久av电视剧| 丰满岳妇乱一区二区三区| 成人av在线不卡| 黄色av免费在线| 国产精品狼人久久影院观看方式| 日韩精品资源| 精品视频三区| 欧美精彩视频一区二区三区| 欧美日韩精品免费在线观看视频| 天天操天天操天天操| 成人av免费观看| 国产一区二区三区色淫影院 | 欧美激情视频一区二区三区不卡| 非洲一级黄色片| 另类在线视频| 亚洲欧洲在线观看| 伊人网在线视频观看| 欧美影院天天5g天天爽| 亚洲精品资源美女情侣酒店| 美女又爽又黄视频毛茸茸| 日韩欧美中文字幕电影| 亚洲欧洲xxxx| 影音先锋男人在线| 国产精品久久久久久麻豆一区软件| 日韩中文在线中文网三级| 九九热久久免费视频| 亚洲成人精选| 欧美精品videosex牲欧美| 日韩欧美性视频| 国产精品一二| 国产精品久久久久一区二区| 中文字幕资源网| 日本欧美加勒比视频| 国产精品一区久久久| 国产精品永久久久久久久久久| 国产精品系列在线播放| 国产一区视频观看| 国产一二在线观看| 成人欧美一区二区三区黑人麻豆| 成年丰满熟妇午夜免费视频| 国产美女高潮在线| 欧美日韩国产在线观看| 9191在线视频| 亚洲人成亚洲精品| 中文字幕日韩av综合精品| 欧美卡一卡二卡三| 亚洲欧美日韩视频二区| 成人亚洲欧美一区二区三区| 天天操天天操天天干| 国产精品毛片久久久久久久| 少妇久久久久久被弄到高潮| 国产精品伦理| 欧美一二三四区在线| 成人性生活免费看| 五月综合激情| 日本国产一区二区三区| 99视频免费看| 国产喷白浆一区二区三区| www.18av.com| 日本在线视频一区二区| 亚洲国产毛片完整版| 国产又粗又长又硬| 在线成人h网| 国产精品小说在线| 色猫av在线| 亚洲精品国产a久久久久久| 国产偷人视频免费| 99只有精品| 日韩精品视频在线播放| 欧美三级日本三级| 日韩av电影天堂| 国产日韩欧美一区二区| 在线看免费av| 香港成人在线视频| 韩国三级丰满少妇高潮| 欧美偷拍自拍| 奇米4444一区二区三区| 亚洲乱码精品久久久久..| 国产精品狼人久久影院观看方式| 国产精品欧美激情在线观看| 亚洲超碰在线观看| 播播国产欧美激情| 懂色av蜜臀av粉嫩av分享吧最新章节| 国产91在线|亚洲| 午夜啪啪福利视频| 99riav视频一区二区| 亚洲另类激情图| 黄色片视频网站| www.亚洲精品| 东北少妇不带套对白| 日本成人精品| 欧美成人精品一区二区| 91片黄在线观看喷潮| 国产区在线观看成人精品 | 欧美成人一品| 91精品在线国产| 日本免费在线观看| 欧美视频自拍偷拍| аⅴ天堂中文在线网| 日本少妇aaa| 秋霞午夜鲁丝一区二区老狼| 欧美中日韩免费视频| 波多野结衣精品| 精品av久久707| 久久精品免费在线| 成人精品视频一区二区三区尤物| 久久人妻无码一区二区| 国产精品久久久久久久久久辛辛 | 国产又黄又大又爽| 国产精品美女久久久久久久久久久| 国产一级不卡毛片| 精品日本12videosex| 国产成人综合亚洲| 四虎在线视频免费观看| 亚洲18色成人| www.88av| 影音先锋日韩资源| 国产欧美亚洲日本| 亚洲女同av| 亚洲视频视频在线| 亚洲一级黄色大片| 亚洲另类在线视频| 少妇被狂c下部羞羞漫画| 99国产精品| 欧洲av一区| 福利视频亚洲| 九九久久精品一区| 四虎精品成人影院观看地址| 欧美影院午夜播放| 欧美黄色免费看| 91婷婷韩国欧美一区二区| 十八禁视频网站在线观看| 欧美高清视频手机在在线| 91成人免费观看| 制服丝袜专区在线| 北条麻妃一区二区三区中文字幕| 超碰在线观看99| 欧美丝袜一区二区| 一本一本久久a久久| 国产乱妇无码大片在线观看| 日韩专区第三页| 免费av一区| 亚洲伊人一本大道中文字幕| av人人综合网| 色妞色视频一区二区三区四区| 国产成人免费看一级大黄| 精品成人久久av| 亚洲天堂av中文字幕| 国产mv日韩mv欧美| 色婷婷狠狠18| 亚洲东热激情| 一区二区视频国产| 婷婷成人影院| 亚洲精品欧美一区二区三区| 在线天堂资源| 欧美第一页在线| 四虎久久免费| 亚洲欧美国产精品| www国产在线| 欧美午夜精品久久久| 日本三级中文字幕| 国产精品久久久一区麻豆最新章节| 在线观看亚洲免费视频| 另类av一区二区| 日韩成人手机在线| 99久久久久国产精品| 久久综合九色欧美狠狠| 日韩欧美中文字幕在线视频| 国产精品国产三级国产aⅴ9色| 麻豆av在线免费观看| 日韩专区中文字幕| 国产女人在线视频| 日韩电影网在线| 国模私拍视频在线| 91超碰这里只有精品国产| 久久久精品毛片| 第一福利永久视频精品 | 成人羞羞视频在线看网址| 久久国产精品 国产精品| 8x国产一区二区三区精品推荐| 国产精品露脸自拍| 免费v片在线观看| 麻豆国产精品va在线观看不卡 | av动漫一区二区| 少妇献身老头系列| 国产美女在线观看一区| 欧美伦理片在线观看| 玖玖精品视频| 91av在线免费播放| 噜噜噜在线观看免费视频日韩| 僵尸世界大战2 在线播放| 日本高清免费电影一区| 日韩欧美国产二区| 狠狠综合久久av一区二区蜜桃| 另类欧美小说| 天堂99x99es久久精品免费| 国产精品一区二区三区在线 | 欧美性69xxxx肥| 国产精品自拍99| 欧美日韩在线免费| 国产小视频在线免费观看| 婷婷激情综合网| av大片免费观看| 日韩欧美有码在线| 国产 高清 精品 在线 a| 欧美a免费在线| 日韩一区二区三区xxxx| 快射av在线播放一区| 久久亚洲国产精品| 亚洲性图自拍| 欧美精品久久久久久久| 乱人伦中文视频在线| 日韩综合视频在线观看| 97影院秋霞午夜在线观看| 久精品免费视频| 国产乱码在线| 欧美一二三视频| 福利精品在线| 99精品欧美一区二区三区| 黄色欧美在线| 欧美一级爱爱| 99久久精品国产亚洲精品 | 国内精品免费视频| 91视频91自| 欧美aaa级片| 亚洲蜜桃精久久久久久久| 九九热最新地址| 亚洲国产成人91porn| www.欧美色| 欧美日韩在线免费视频| 精品国产va久久久久久久| 亚洲国产天堂网精品网站| 污视频网站在线播放| 中文字幕欧美日韩精品| bbbbbbbbbbb在线视频| 欧美精品在线免费播放| 蜜桃视频动漫在线播放| 国产精品日日做人人爱| 视频在线亚洲| 日本免费高清一区二区| 欧美国产先锋| 精品视频无码一区二区三区| 国产乱人伦偷精品视频不卡| 日本一卡二卡在线| 中文字幕日韩av资源站| 中文字幕在线观看免费视频| 欧美日韩卡一卡二| 色婷婷激情五月| 日韩中文字幕欧美| 韩国日本一区| 国产专区精品视频| 特黄特色欧美大片| 中国黄色录像片| 丝袜亚洲精品中文字幕一区| 香蕉视频在线观看黄| 国产欧美日韩在线看| 国产无套粉嫩白浆内谢| 欧美丰满一区二区免费视频| 三区在线观看| 久久久久国产精品免费网站| 岛国精品在线| 九色综合日本| 国产精品久久| 伊人五月天婷婷| 欧美国产丝袜视频| 男女视频免费看| 日韩欧美亚洲一区二区| 成人全视频高清免费观看| 97香蕉超级碰碰久久免费软件| 欧美视频精品| 日韩精品伦理第一区| 亚洲免费中文| 国产精品九九视频| 亚洲欧美在线另类| 中文字幕精品视频在线观看| 亚洲经典中文字幕| 羞羞视频在线观看不卡| 国产这里只有精品| 久久亚洲国产| 性chinese极品按摩| 日本一区二区三级电影在线观看| youjizz在线视频| 亚洲国产欧美精品| 91九色美女在线视频| 999在线观看免费大全电视剧| 欧美黄色大片在线观看| 嫩草av久久伊人妇女超级a| 成人一区在线看| 精品一区二区三区人妻| 欧美日本国产视频| 精品99又大又爽又硬少妇毛片| 欧美精品xxx| 国产乱人伦精品一区| 亚洲国产精品成人天堂| jiyouzz国产精品久久| 日本视频www| 亚洲精品国产精品国自产在线 | 午夜精品久久久久久久久久久久久 | 国产美女娇喘av呻吟久久| 九九久久免费视频| 日韩av在线网站| 99热播精品免费| 国产精品igao激情视频 | 精品一卡二卡三卡四卡日本乱码 | 五月久久久综合一区二区小说| 在线观看欧美一区二区| 大伊人狠狠躁夜夜躁av一区| 97视频精彩视频在线观看| 97中文在线| 媚黑女一区二区| 欧美做爰爽爽爽爽爽爽| 日韩成人av一区| 97久久中文字幕| 2022亚洲天堂| 中文字幕日韩av资源站| 天天干天天草天天射| 国产精品久久久久久一区二区| 欧美特黄一区| 亚洲精品成人无码| 欧美一级片免费看| 日本电影欧美片| 99视频精品全部免费看| 久久久久九九视频| www.久久色| 国产精品久久久久久久久免费看| 国内自拍一区| 少妇高潮惨叫久久久久| 日韩精品在线免费播放| 精品一区二区三区视频在线播放 | 国产精选第一页|