中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

IPhone之AVAudioRecorder

發布時間:2020-04-05 19:31:03 來源:網絡 閱讀:399 作者:tony關東升 欄目:開發技術

#import <AVFoundation/AVFoundation.h>  需要引入
 

  1. //獲取document目錄的路徑 
  2. view plain 
  3.  
  4.     - (NSString*) documentsPath {   
  5.      if (! _documentsPath) {   
  6.       NSArray *searchPaths =   
  7.        NSSearchPathForDirectoriesInDomains   
  8.        (NSDocumentDirectory, NSUserDomainMask, YES);   
  9.       _documentsPath = [searchPaths objectAtIndex: 0];   
  10.       [_documentsPath retain];   
  11.      }   
  12.      return _documentsPath;   
  13.     }   
  14.         
  15.     //(document目錄的路徑)   
  16.      NSString *destinationString = [[self documentsPath]   
  17.        stringByAppendingPathComponent:filenameField.text];   
  18.      NSURL *destinationURL = [NSURL fileURLWithPath: destinationString];   
  19.     //初始化AVAudioRecorder   
  20.      NSError *recorderSetupError = nil;   
  21.      AVAudioRecorder audioRecorder = [[AVAudioRecorder alloc] initWithURL:destinationURL   
  22.        settings:recordSettings error:&recorderSetupError];   
  23.      [recordSettings release];   

 


第二個參數  settings是一個容納鍵值對的NSDictionary有四種一般的鍵


1:一般的音頻設置


2:線性PCM設置


3:編碼器設置


4:采樣率轉換設置


 


NSMutableDictionary  需要加入五個設置值(線性PCM)


view plain

 

  1.     NSMutableDictionary *recordSettings =   
  2.       [[NSMutableDictionary alloc] initWithCapacity:10];   
  3.       //1 ID號   
  4.       [recordSettings setObject:   
  5.        [NSNumber numberWithInt: kAudioFormatLinearPCM] forKey: AVFormatIDKey];   
  6.       float sampleRate =   
  7.        [pcmSettingsViewController.sampleRateField.text floatValue];   
  8.       //2 采樣率   
  9.       [recordSettings setObject:   
  10.        [NSNumber numberWithFloat:sampleRate] forKey: AVSampleRateKey];   
  11.           
  12.       //3 通道的數目   
  13.       [recordSettings setObject:   
  14.        [NSNumber numberWithInt:   
  15.         (pcmSettingsViewController.stereoSwitch.on ? 2 : 1)]   
  16.        forKey:AVNumberOfChannelsKey];   
  17.       int bitDepth =   
  18.        [pcmSettingsViewController.sampleDepthField.text intValue];   
  19.           
  20.       //4 采樣位數  默認 16   
  21.       [recordSettings setObject:   
  22.        [NSNumber numberWithInt:bitDepth] forKey:AVLinearPCMBitDepthKey];   
  23.           
  24.       //5   
  25.       [recordSettings setObject:   
  26.        [NSNumber numberWithBool:   
  27.          pcmSettingsViewController.bigEndianSwitch.on]   
  28.         forKey:AVLinearPCMIsBigEndianKey];   
  29.         
  30.       //6 采樣信號是整數還是浮點數   
  31.       [recordSettings setObject:   
  32.        [NSNumber numberWithBool:   
  33.          pcmSettingsViewController.floatingSamplesSwitch.on]   
  34.         forKey:AVLinearPCMIsFloatKey]   
  35.  
  36.  

 


AVAudioRecorder成功創建后,使用他非常直接.它的三個基本方法如下


view plain
  1. -(void) startRecording {   
  2.  [audioRecorder record];   
  3. }   
  4. -(void) pauseRecording {   
  5.  [audioRecorder pause];   
  6.  recordPauseButton.selected = NO;   
  7. }   
  8. -(void) stopRecording {   
  9.  [audioRecorder stop];   
  10. }   

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥宁县| 古蔺县| 哈尔滨市| 四平市| 茶陵县| 张家界市| 庆元县| 五大连池市| 通化市| 巴彦县| 清新县| 凤城市| 三门峡市| 进贤县| 洛隆县| 乐清市| 墨脱县| 时尚| 怀宁县| 巫溪县| 剑川县| 玉门市| 岐山县| 西宁市| 潞西市| 孟村| 阿瓦提县| 介休市| 中卫市| 乐至县| 襄樊市| 阿荣旗| 彰化市| 遂平县| 张家口市| 临夏县| 鄢陵县| 大同县| 班玛县| 烟台市| 西藏|