<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    張慧的博客

    張慧的博客

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      45 Posts :: 0 Stories :: 24 Comments :: 0 Trackbacks

    需求大致分為三種:
    1.震動
    2.系統音效(無需提供音頻文件)
    3.自定義音效(需提供音頻文件)
    我的工具類的封裝:

    1. //  
    2. //  WQPlaySound.h  
    3. //  WQSound  
    4. //  
    5. //  Created by 念茜 on 12-7-20.  
    6. //  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.  
    7. //  
    8.   
    9. #import <UIKit/UIKit.h>  
    10. #import <AudioToolbox/AudioToolbox.h>  
    11.   
    12. @interface WQPlaySound : NSObject  
    13. {  
    14.     SystemSoundID soundID;  
    15. }  
    16.   
    17. /** 
    18.  *  @brief  為播放震動效果初始化 
    19.  * 
    20.  *  @return self 
    21.  */  
    22. -(id)initForPlayingVibrate;  
    23.   
    24. /** 
    25.  *  @brief  為播放系統音效初始化(無需提供音頻文件) 
    26.  * 
    27.  *  @param resourceName 系統音效名稱 
    28.  *  @param type 系統音效類型 
    29.  * 
    30.  *  @return self 
    31.  */  
    32. -(id)initForPlayingSystemSoundEffectWith:(NSString *)resourceName ofType:(NSString *)type;  
    33.   
    34. /** 
    35.  *  @brief  為播放特定的音頻文件初始化(需提供音頻文件) 
    36.  * 
    37.  *  @param filename 音頻文件名(加在工程中) 
    38.  * 
    39.  *  @return self 
    40.  */  
    41. -(id)initForPlayingSoundEffectWith:(NSString *)filename;  
    42.   
    43. /** 
    44.  *  @brief  播放音效 
    45.  */  
    46. -(void)play;  
    47.   
    48. @end  


    1. //  
    2. //  WQPlaySound.m  
    3. //  WQSound  
    4. //  
    5. //  Created by 念茜 on 12-7-20.  
    6. //  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.  
    7. //  
    8.   
    9. #import "WQPlaySound.h"  
    10.   
    11. @implementation WQPlaySound  
    12.   
    13. -(id)initForPlayingVibrate  
    14. {  
    15.     self = [super init];  
    16.     if (self) {  
    17.         soundID = kSystemSoundID_Vibrate;  
    18.     }  
    19.     return self;      
    20. }  
    21.   
    22. -(id)initForPlayingSystemSoundEffectWith:(NSString *)resourceName ofType:(NSString *)type  
    23. {  
    24.     self = [super init];  
    25.     if (self) {  
    26.         NSString *path = [[NSBundle bundleWithIdentifier:@"com.apple.UIKit"] pathForResource:resourceName ofType:type];  
    27.         if (path) {  
    28.             SystemSoundID theSoundID;  
    29.             OSStatus error =  AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:path], &theSoundID);  
    30.             if (error == kAudioServicesNoError) {  
    31.                 soundID = theSoundID;  
    32.             }else {  
    33.                 NSLog(@"Failed to create sound ");  
    34.             }  
    35.         }  
    36.           
    37.     }  
    38.     return self;  
    39. }  
    40.   
    41. -(id)initForPlayingSoundEffectWith:(NSString *)filename  
    42. {  
    43.     self = [super init];  
    44.     if (self) {  
    45.         NSURL *fileURL = [[NSBundle mainBundle] URLForResource:filename withExtension:nil];  
    46.         if (fileURL != nil)  
    47.         {  
    48.             SystemSoundID theSoundID;  
    49.             OSStatus error = AudioServicesCreateSystemSoundID((__bridge CFURLRef)fileURL, &theSoundID);  
    50.             if (error == kAudioServicesNoError){  
    51.                 soundID = theSoundID;  
    52.             }else {  
    53.                 NSLog(@"Failed to create sound ");  
    54.             }  
    55.         }  
    56.     }  
    57.     return self;  
    58. }  
    59.   
    60. -(void)play  
    61. {  
    62.     AudioServicesPlaySystemSound(soundID);  
    63. }  
    64.   
    65. -(void)dealloc  
    66. {   
    67.     AudioServicesDisposeSystemSoundID(soundID);  
    68. }  
    69. @end  


    調用方法步驟:
    1.加入AudioToolbox.framework到工程中
    2.調用WQPlaySound工具類

    2.1震動

    1. WQPlaySound *sound = [[WQPlaySound alloc]initForPlayingVibrate];  
    2. [sound play];  

    2.2系統音效,以Tock為例

    1. WQPlaySound *sound = [[WQPlaySound alloc]initForPlayingSystemSoundEffectWith:@"Tock" ofType:@"aiff"];  
    2. [sound play];  

    2.3自定義音效,將tap.aif音頻文件加入到工程

    1. WQPlaySound *sound = [[WQPlaySound alloc]initForPlayingSoundEffectWith:@"tap.aif"];  
    2. [sound play];  

    tap.aif音頻文件樣例下載點擊

    posted on 2012-08-16 22:26 張慧 閱讀(7769) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲人成电影在在线观看网色 | 日韩在线视频播放免费视频完整版| 免费v片在线观看视频网站| 亚洲国产第一页www| 久久久久久久99精品免费观看| 伊人婷婷综合缴情亚洲五月| 中文字幕免费人成乱码中国| 久久青青草原亚洲av无码| 国产日韩精品无码区免费专区国产 | 色婷婷六月亚洲婷婷丁香| 免费人成网站在线观看不卡| 亚洲精品无码午夜福利中文字幕| a级毛片毛片免费观看久潮喷| 亚洲AV无码专区电影在线观看| 久久精品国产大片免费观看| 亚洲综合精品香蕉久久网97| 18禁黄网站禁片免费观看不卡| 亚洲乱码卡三乱码新区| 国内自产拍自a免费毛片| 男人扒开添女人下部免费视频| 久久久无码精品亚洲日韩软件| 国产精品免费观看调教网| 亚洲国产精品免费在线观看| 毛片免费全部免费观看| 日韩精品无码永久免费网站| 国产亚洲精久久久久久无码| 国产成人免费午夜在线观看| 亚洲人AV在线无码影院观看| 亚洲毛片不卡av在线播放一区| 免费国产成人18在线观看| 亚洲av成人综合网| 亚洲精品偷拍视频免费观看 | 国产亚洲女在线线精品| 国产亚洲精午夜久久久久久| 2015日韩永久免费视频播放 | xvideos永久免费入口| 亚洲黄色网址在线观看| 成年在线观看免费人视频草莓| 又大又硬又粗又黄的视频免费看| 久久狠狠高潮亚洲精品| 亚洲AV无码成人精品区大在线|