1. 程式人生 > >多媒體開發庫 之 SDL 詳解

多媒體開發庫 之 SDL 詳解

詳解 lang 模擬 llb 創建 mac os 視頻 內置 bsp

SDL 簡介

SDL(Simple DirectMedia Layer)是一套開放源代碼的跨平臺多媒體開發庫,使用C語言寫成。SDL提供了數種控制圖像、聲音、輸出入的函數,讓開發者只要用相同或是相似的代碼就可以開發出跨多個平臺(Linux、Windows、Mac OS X等)的應用軟件。目前SDL多用於開發遊戲、模擬器、媒體播放器等多媒體應用領域。

SDL提供的功能

1. 視頻 設置8bpp或更高的任意色彩深度的視頻模式。如果某個模式硬件不支持,可以選擇轉化為另一模式。 直接寫入線性的圖像幀緩沖(framebuffer)。 用顏色鍵值(colorkey)或者alpha混合屬性創建surface。 Surface的blit能自動的轉化為目標格式。blit是優化過的,並能使用硬件加速。x86平臺上有針對MMX優化過的blit。 硬件加速的blit和fill(填充)操作,如果硬件支持的話。 2. 音頻
設置8位和16位的音頻,單聲道或者立體聲,如果格式硬件不支持,可以選擇轉換。 由獨立的線程執行音頻部分,並提供用戶回調(callback)機制。 設計上考慮到了客戶定制的軟混音器,但實際上在例程中就包含了一個完整的音頻/音樂輸出庫。 3. 線程 簡單的線程創建API 用於同步的簡單的二進制信號量(semaphores)

4. 定時器 讀取已流逝的毫秒數。 等待指定的毫秒數。 設置一個10毫秒精度的周期性定時器。 5.字節序無關 偵測當前系統的字節序 快速轉換數據的函數 讀寫指定字節序的數據

SDL 其他的特性

SDL內置了調用OpenGL的函數。 通過使用SDL_image、SDL_ttf、SDL_mixer、SDL_net等外部擴展庫,可以輕松實現JPG、PNG、TIFF圖像的加載使用,TrueType字體的使用,MP3文件的使用、網絡相關的使用等。 SDL也有其他語言的包裝,可以在這裏查看 SDL用C語言寫成,但是可以很容易在C++下面工作,並且SDL綁定了許多其它的語言,這其中就包括Ada, C#, Eiffel, Erlang, Euphoria, Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP, Pike, Pliant, Python, Ruby, and Smalltalk。

多媒體開發庫 之 SDL 詳解