zoukankan      html  css  js  c++  java
  • openal 基础知识2

    三枚举扩展包(enumeration extension,“ALC_ENUMERATION_EXT”)

            开发者可以通过这个extension得到一个字符串列表,区分不同的渲染/捕捉设备。OpenALrouter负责查看用户系统的有效设备。Enumerationextension返回的字符串都可以用于alcOpenDevice创建一个device

            通常设备枚举是平台相关的,对于具有确定功能的游戏控制平台来说,不需要多个渲染设备,通常不会实现此机制。

            在PC上,标准enumerationextension不区分每个OpenAL的隐含输出路径。当用户有多个声音设备,或在WindowsVista上(声音系统为扬声器、S/PDIF等定义了不同的endpoint”),它不会返回所有的可能输出路径。如果你需要完全控制输出路径,请用EnumerateAll” extension

    1. 检测enumerationextension

            alcIsExtensionPresent(NULL, “ALC_ENUMERATION_EXT”) == AL_TRUE可以检测是否可用。

    2. 获取device名字

            开发者可以获得一个(用NULL分割,用两个连续的NULL结尾)表示的device名字字符串,和一个默认device名称字符串。

            alcGetString(NULL, ALC_DEVICE_SPECIFIER)可获得所有device名称列表。

            alcGetString(NULL, ALC_DEFAULT_DEVICE_SPECIFIER)可获得默认device名称。

    3. 检查当前device名称

            alcGetString(pMyDevice, ALC_DEVICE_SPECIFIER)可以获得指定device的名字。

                    pMyDevice =alcOpenDevice(NULL);

                    actualDeviceName =alcGetString (pMyDevice, ALC_DEVICE_SPECIFIER);

  • 相关阅读:
    OpenCascade Ray Tracing Rendering
    Create New Commands in Tcl
    OpenCascade Modeling Algorithms Fillets and Chamfers
    OpenCascade Modeling Algorithms Boolean Operations
    Construction of Primitives in Open Cascade
    Open Cascade Data Exchange STL
    Tcl Tk Introduction
    Open Cascade DataExchange IGES
    Netgen mesh library : nglib
    Hello Netgen
  • 原文地址:https://www.cnblogs.com/dragon2012/p/3228943.html
Copyright © 2011-2022 走看看