cococos 2 dx FileUtils読み取りオーディオファイル、win 32とアンドロイドの違い
1836 ワード
グローバル暗号化のためのFileUtilsエージェントの設定
win32 win 32の下の各デコーダはFileUtilsを使用して を読み取る.エージェント復号化できない cocos2d-x-4.0\cocos\audio\win32
AudioDecoderMp3 mpg123_open
Ogg ov_fopen
AndroidアンドロイドはまたFileUtils読み取り を使用した.はwin 32とアンドロイドの表現が一致しない を招いた. cocos2d-x-4.0\cocos\audio\android\AudioDecoderMp3.cpp
ソリューション mp 3 ogg等のオーディオファイルの復号化 を一時的に排除する.
問題を記録する
//
FileUtils::getInstance()->setDelegate(getInstance());
win32
AudioDecoderMp3
#include "mpg123.h"
bool AudioDecoderMp3::open(const char* path)
{
std::string fullPath = FileUtils::getInstance()->fullPathForFilename(path);
if (mpg123_open(_mpg123handle, FileUtils::getInstance()->getSuitableFOpen(fullPath).c_str()) != MPG123_OK
|| mpg123_getformat(_mpg123handle, &rate, &channel, &mp3Encoding) != MPG123_OK)
{
ALOGE("Trouble with mpg123: %s
", mpg123_strerror(_mpg123handle) );
break;
}
Ogg
#include "vorbis/vorbisfile.h"
bool AudioDecoderOgg::open(const char* path)
{
std::string fullPath = FileUtils::getInstance()->fullPathForFilename(path);
if (0 == ov_fopen(FileUtils::getInstance()->getSuitableFOpen(fullPath).c_str(), &_vf))
{
Android
//AudioDecoderMp3
bool AudioDecoderMp3::decodeToPcm()
{
_fileData = FileUtils::getInstance()->getDataFromFile(_url);
if (_fileData.isNull())
{
return false;
}
//AudioDecoderOgg
bool AudioDecoderOgg::decodeToPcm()
{
_fileData = FileUtils::getInstance()->getDataFromFile(_url);
if (_fileData.isNull())
{
return false;
}
//AudioDecoderWav
bool AudioDecoderWav::decodeToPcm()
{
_fileData = FileUtils::getInstance()->getDataFromFile(_url);
ソリューション
問題を記録する