zoukankan      html  css  js  c++  java
  • System Sounds: Alerts and Sound Effects

    #include <AudioToolbox/AudioToolbox.h>
    #include <CoreFoundation/CoreFoundation.h>
     
    // Define a callback to be called when the sound is finished
    // playing. Useful when you need to free memory after playing.
    static void MyCompletionCallback (
        SystemSoundID  mySSID,
        void * myURLRef
    ) {
            AudioServicesDisposeSystemSoundID (mySSID);
            CFRelease (myURLRef);
            CFRunLoopStop (CFRunLoopGetCurrent());
    }
     
    int main (int argc, const char * argv[]) {
        // Set up the pieces needed to play a sound.
        SystemSoundID    mySSID;
        CFURLRef        myURLRef;
        myURLRef = CFURLCreateWithFileSystemPath (
            kCFAllocatorDefault,
            CFSTR ("../../ComedyHorns.aif"),
            kCFURLPOSIXPathStyle,
            FALSE
        );
     
        // create a system sound ID to represent the sound file
        OSStatus error = AudioServicesCreateSystemSoundID (myURLRef, &mySSID);
     
        // Register the sound completion callback.
        // Again, useful when you need to free memory after playing.
        AudioServicesAddSystemSoundCompletion (
            mySSID,
            NULL,
            NULL,
            MyCompletionCallback,
            (void *) myURLRef
        );
     
        // Play the sound file.
        AudioServicesPlaySystemSound (mySSID);
     
        // Invoke a run loop on the current thread to keep the application
        // running long enough for the sound to play; the sound completion
        // callback later stops this run loop.
        CFRunLoopRun ();
        return 0;
    }
    
  • 相关阅读:
    储存过程、游标与触发器
    linux系统安装mysql5.7.22
    为什么实体类要实现序列化
    jsp的语法
    jsp的原理
    转发和重定向的区别
    SpringCloud——简介,5大组件
    Java——线程,并发包(Lock、线程池)
    Spring Data JPA——基本使用
    SpringBoot
  • 原文地址:https://www.cnblogs.com/ioriwellings/p/4118545.html
Copyright © 2011-2022 走看看