Тег HTML5

Я нашел много веток, обсуждающих поддержку тегов на Android. Пока что похоже, что даже Android Froyo 2.2 не может воспроизводить звук (я делал тесты на nexus One).

Согласно веб-странице www.html5test.com, сам тег поддерживается, но в браузере отсутствуют кодеки (mp3, ogg ..). Итак, как я могу решить эту проблему?

Пока что я вижу только одно решение - использовать встроенный Flex или Flash player, который может транслировать mp3. Это верно? Это единственный способ воспроизвести. BR STeN

Добавлено позже : Рабочее решение, которое я наконец использовал, - это небольшой файл Flex .swf для потоковой передачи. Его довольно легко интегрировать с веб-страницей HTML (связь Flex-Javascript работает довольно хорошо). Единственная проблема заключается в том, что на некоторых телефонах Flash Player не переустанавливается и его нужно сначала загрузить с Android Market.

Добавлено еще позже : Ну, элемент глючит даже на Android 2.3 - не знаю, что делают в гугле, что такая простая штука проблема. Использование Flex Player в порядке, но проблема в том, что на некоторых телефонах проигрыватель Adobe Flash не может быть установлен с Android Market, потому что есть некоторые требования Adobe HW, такие как процессор 1 ГГц и т. Д. Некоторые поставщики, такие как HTC, предоставляют собственные проигрыватели Flash, но это довольно плохо и некорректно работает с AS 3.0 ... чтобы позволить разработчикам C # использовать эту библиотеку, они обернули ее с помощью P / Invoke, поэтому мы вызываем функции API.

Один из вызовов API следующий:

ReadFromDevice(int deviceAddress, int numBytes, Byte[] data);

Эта функция считывает количество байтов данных из внешнее устройство и помещает его в data []. Как видите, он ожидает увидеть массив байтов C # в качестве третьего аргумента. Теперь наша проблема в том, что мы хотели бы считывать данные в произвольное место в заранее объявленном массиве. Например:

Byte[] myData = new Byte[1024*1024*16];
ReadFromDevice(0x100, 20000, &myData[350]) // Obviously not possible in C#

Если бы мы использовали C / C ++, это было бы тривиально. Учитывая, что базовый API написан на C ++, я считаю, что мы можем сделать это и на C #, однако я не могу понять, как это сделать в C #. Может быть, мы сможем каким-то образом вызвать базовую библиотеку не через поставляемый интерфейс P / Invoke и написать собственный интерфейс?

Мы будем признательны за любые идеи.

С уважением,

5
задан SomethingBetter 4 February 2011 в 08:05
поделиться