выделение текста в том виде, в котором он изложен (аудио .mp3) - PullRequest
2 голосов
/ 18 ноября 2010

Я использую Cocos2d для всех анимационных спрайтов / переходов, но я не уверен, как подходить к выделению текста, как он рассказан.

Пример: "Джек и Джилл, напившись, напились и были слишком пьяны, чтобы пить воду." текст будет выделен.

Если у кого-то есть подсказка или пример кода, я бы очень признателен.

Спасибо
Шива.

Ответы [ 3 ]

1 голос
/ 14 декабря 2011

Для этого вам нужно скачать файл .srt, который содержит текст, время начала и время окончания каждой строки.

1 голос
/ 16 декабря 2010

Я не уверен, что вы можете «посчитать» слова из аудио, я действительно не балуюсь аудио на iphone достаточно, чтобы дать какой-либо четкий совет с этой точки зрения, но если бы это был я, я бы сделал это.

Это может показаться немного неуклюжим, но кажется, что оно будет делать то, что вы хотите.

У меня был бы CCScheduler, который запускается каждые 0,5 секунды, возможно.

У меня также был бы массив для моего аудиофайла, возможно, сохраненный в plist (поэтому несколько аудиофайлов могут содержать «массивы» в словаре.

Массив будет содержать целые числа, которые будут представлять время, которое имеетПо истечении времени, когда звук начал воспроизводиться, objectAtIndex: 0 будет наименьшим числом, и каждое из них будет увеличиваться.

Вы добавляете по одному для каждого слова в предложении или аудио.

Когда вы начинаете воспроизведение вашего аудиофайла, удерживайте переменную [NSDate date] (запись точного времени, когда звук начал воспроизводиться (достаточно близко)).

В вашем планировщике отметьте [array objectAtIndex: 0] противколичество времени, прошедшее с начала воспроизведения звука, если объект массива меньше, запустите метод, который рисует ваше «выделение» за этой частью текста, затем [removeObjectAtIndex: 0].

Если objectAtIndex:0 больше, чем истекло время, просто вернитесь;

Вполне возможно, что вы будете следить за позициями слов, возможно, рисуя каждое из них отдельно как отдельный CCSprite, и метод выделения будет по вашему собственному предпочтению, ноэто подход, который я мог бы предпринять.

0 голосов
/ 21 сентября 2012

Загляните в раздел, озаглавленный «Живые холмы со звуком… Аудиофайлы:]» в этом уроке.Он показывает, как использовать Audacity для записи аудио, маркировать каждое слово и экспортировать текстовый файл, который указывает, когда начинается каждое слово.

http://www.raywenderlich.com/19415/how-to-make-an-interactive-ebook-without-any-code

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...