2011-07-14 41 views
3

任何人都可以推薦一個便攜式,C++本機多媒體庫?我試過SDL,但它與類的接口不好,因爲它是一個c庫。一個好的C++原生多媒體庫?

+2

如何在C編寫的庫使它與類的接口不好?許多(現代)C庫都有一個面向對象的風格,並且很適合一個簡單的C++包裝器。 –

+3

@AndréCaron是的,但你必須*寫*認爲C++包裝,它可以是*很多樣板代碼。如果這樣的圖書館已經存在(它確實存在),那就更好了。 –

+0

它必須是多平臺嗎? – RedX

回答

4

SFML - 「簡單和快速的多媒體庫」 - 它本質上是一個面向對象,平臺無關,基於OpenGL的SDL替代品,看起來非常有前景。

它允許沒有特別注意寫的很清楚的代碼資源清理:

#include <SFML/Graphics.hpp> 

int main() { 
    sf::RenderWindow App(sf::VideoMode(800, 600), "SFML window"); 

    sf::Image Image; 
    if (not Image.LoadFromFile("cute_image.jpg")) 
     return -1; 
    sf::Sprite Sprite(Image); 

    while (App.IsOpened()) { 
     sf::Event Event; 
     while (App.GetEvent(Event)) { 
      if (Event.Type == sf::Event::Closed) 
       App.Close(); 
     } 

     App.Clear(); 
     App.Draw(Sprite); 
     App.Display(); 
    } 
} 
1

您試過在ffmpeg

這是非常廣泛的使用,跨平臺,他們的網站提到libavcodec這可能是一個適合你的圖書館。

+1

這是一個很好的建議,但'ffmpeg'也是用C編寫的。 – jonsca

0

ffmpeg的是一個相當不錯的圖書館,雖然不是那麼容易使用。

你想做什麼?

+1

ffmpeg在自由方面並不是免費的,我也不想真正地陷入適當的庫中。 –