• OpenAL系列之二 – 为什么要避免使用alBuferDataStatic

    我收到Ken一封Email,这位仁兄浏览了我博客的中有关OpenAL的文章,遇到一些问题请求我的帮助。他在加载缓存后重复使用时遇到了一些OpenAL神秘的错误。

     

    所以我阅读了他寄给我的代码片段,我注意到:

     

    1
    2
    3
    // use the static buffer data API

    alBufferDataStaticProc(buffer, format, data, size, freq);

     

    啊哈! 这可能就是你问题的根源!除非你真正需要,alBufferDataStatic应该完全被避免。你怎样才知道你需要使用它?有一条金桂玉律:如果你不知道这个问题的答案,那么你就不需要它。

     

    读文章 »

     
  • OpenAL系列之一 – iPhone上的OpenAL音频

    译者注:这是我最喜欢的iPhone OpenAL教程之一,总共有好几篇文章,我会逐步翻译。

     

    随着保密协议的解除,我们可以开始公开讨论iPhone的代码了。我觉得讨论一下我“入侵”iPhone世界以来遇到的问题以及我是如何修复它们的可能是一个不错的话题。

     

    我目前正在编写一个iPhone游戏,它完全是以openGLES为基础并采用OpenAL音频。今天我想谈谈OpenAL

     

    读文章 »

     
  • 检测用户向麦克吹气

     

    如果几年前你告诉我人们可以通过晃动手机或向麦克吹气使手机有所动作,我一定会大笑不止。但现在这已经是事实了。

     

    检查晃动动作是很直接的,所有这些在3.0“motion event”(动作事件)中都有介绍。

     

    检测向麦克吹气困难一点。本教程将建立一个简单的单视图程序,它将在用户向麦克吹气时向控制台写入记录信息。

     

    读文章 »

     
  • iPhone游戏编程教程之四-游戏简单音频

    本教程系列的最后一讲将介绍怎样为你的游戏加上声音。由于这是针对初学者的教程,所以我不会讨论复杂的音频技术,如OpenGL和Audio Queue。今天的主题是播放一段短的声音(少于30秒)。如果你不要求任何背景音乐,这将是最容易的播放音频的方式了。这种方式的缺点是一次只能播放一个音频文件。好,我们开始吧……先从上次教程的代码开始。我们今天将使用两种声音,一个是击打球的声音,另一个是得分的声音。

     

    读文章 »

     
  • 使用AVAudioPlayer轻松搞定音频播放

    reel.jpg

    iPhone SDK中的AVFoundation框架包括的AVAudioPlayer是一个容易使用而且功能强大,基于object-c的播放音频文件播放器。

     

    本教程展示了怎样使用AVAudioPlayer。本教程将建立一个简单的程序,它能够循环播放一段mp3音频文件。
    读文章 »