2012-11-26 37 views

回答

1

Android NDK沒有這樣的apis。但在ndk中有幾種播放mp3的解決方案。

  1. 您可以使用MediaPlayer平臺api。 請參閱https://android.googlesource.com/platform/frameworks/av/+/master/include/media/mediaplayer.h

    但是,它不是公開API,它可以由製造商打破。

  2. 您可以使用OpenMAX AL界面。 最近,ndk支持OpenMAX AL。

    但是,使用起來很困難,而且參考文獻很少。 :(

    且僅支持API級14或以上。

  3. 可以在JNI調用java方法。

    可以看到如何調用在C/C++代碼的Java方法在以下來源。 https://android.googlesource.com/platform/frameworks/base/+/master/media/jni/android_media_MediaScanner.cpp

    我認爲這是比別人更好的解決方案。

0

對不起,回答這個遲到後,我找到了解決方案。

SONIC ndk正在播放pcm文件。

您可以將任何MP3爲PCM,然後嘗試播放文件是演示聲波的項目,你將能夠發揮file.For MP3轉換成PCM我用命令

的ffmpeg使用的ffmpeg -y -i mymp3file.mp3 -f s16le -acodec pcm_s16le mypcmfile.pcm