Локализация аудио - PullRequest
       5

Локализация аудио

0 голосов
/ 26 августа 2011

Прежде всего, я n00b. После 3 дней попыток и исследований я решил получить внешнюю помощь.

Что я сделал и мой проект:

я делаю книгу для детей. Теперь я локализую свое приложение. для изображения я сделал это так:

UIImage *schrift = [UIImage imageNamed:NSLocalizedString (@"Schrift_en.png", nil)];
image = [[UIImageView alloc] initWithImage:schrift];
image.frame = CGRectMake(75.5, 80, 617, 137);
[self.view addSubview:image];
[image release];

прекрасно работает для меня:)

Сейчас я пытаюсь сделать то же самое с моим аудиоформатом Рассказчик, но не могу понять, как.

NSString *path = [[NSBundle mainBundle] pathForResource:@"Vorwort" ofType:@"mp3"];
AVAudioPlayer* theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL   fileURLWithPath:path] error:NULL];
self.audioPlayer = theAudio;
[theAudio release];

Как изменить приведенный выше код, чтобы он работал, и как определить ofType: @ "mp3" в Localizable.strings-file?

Google не может мне помочь. Есть идеи? медленно, но верно я теряю мотивацию.

Было бы здорово, если бы кто-нибудь мог мне помочь! заранее спасибо Планки

Ответы [ 2 ]

3 голосов
/ 27 августа 2011

Это не совсем то, для чего предназначены Localizable.strings. Проверьте документы для NSBundle's pathForResource: ofType:

Метод сначала ищет соответствующий файл ресурса в нелокализованном каталоге ресурсов указанного пакета. (… В iOS это основной каталог комплекта.) Если соответствующий файл ресурса не найден, он просматривает верхний уровень любых доступных языковых каталогов «.lproj». (Порядок поиска для языковых каталогов соответствует предпочтениям пользователя.) Он не просматривается в других подкаталогах ни в одном из этих мест.

Так что, если у вас ранее был здесь ваш аудиофайл:

YourBook.app/Vorwort.mp3

вместо этого вы должны расположить его так:

YourBook.app/en.lproj/Vorwort.mp3
YourBook.app/fr.lproj/Vorwort.mp3

На верхнем уровне папки .app не должно быть Volwort.mp3.

Вам нужно будет создать каталоги en.lroj / fr.lproj и перетащить их в ваш проект XCode. Проверьте структуру пакета приложения, щелкнув правой кнопкой мыши на .app в Finder и выбрав «Показать содержимое пакета».

2 голосов
/ 26 августа 2011

Попробуйте это

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/%@", [[NSBundle mainBundle] resourcePath], NSLocalizedString (@"audiofilename.mp3", nil)]];

AVAudioPlayer* theAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];
self.audioPlayer = theAudio;
[theAudio release];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...