Android AudioTrack getPlaybackHeadPosition всегда возвращает 0

используйте

ob_start ();

blockquote>

в самой верхней части вашего скрипта и

ob_end_flush ( );

blockquote>

внизу вашего скрипта. Этот wil включит буферизацию вывода и ваши заголовки будут созданы после того, как страница будет bufferd.

ОБЩИЕ ПРОБЛЕМЫ:

=============== =====

(скопированный ответ из: source )

1) не должно быть никакого выхода (т.е. echo.. или HTML-коды) перед командой header(.......);.

2) удалите любое белое пространство (или новую строку) до и после ?> тегов.

3) ЗОЛОТОЕ ПРАВИЛО! - проверьте, поддерживает ли этот файл php (а также, если вы include другие файлы) UTF8 без кодировки спецификации (а не только UTF-8). Это проблема во многих случаях (потому что кодированный файл UTF8 имеет что-то особенное в начале файла php, которое ваш текстовый редактор не показывает) !!!!!!!!!!!

4) После header(...); вы должны использовать exit;

5) всегда используйте ссылку 301 или 302:

header("location: http://example.com",  true,  301 );  exit;

6) Включить ошибку составление отчетов. И сообщать об ошибке.

7) Если ни одно из вышеизложенных не помогает, используйте перенаправление JAVSCRIPT (однако, сильно не рекомендуемый метод), может быть последним шансом в пользовательских случаях ...:

echo ""; exit;

2
задан ScottF 22 February 2019 в 02:31
поделиться

1 ответ

В соответствии с документацией ,

. Для переносимости приложение должно заполнять путь данных до максимально допустимого значения путем записи данных, пока метод write () не вернет короткий счетчик передачи. , Это позволяет немедленно начать play () и уменьшает вероятность опустошения.

При строгом чтении это может показаться противоречащим предыдущему утверждению:

... вы можете при желании простить путь к данным до вызова play (), написав до bufferSizeInBytes ...

(выделено мной), но цель достаточно ясна: сначала вы должны получить короткую запись.

Это только для начала игры. Когда это произойдет, вы можете использовать getPlaybackHeadPosition(), чтобы определить, когда доступно больше места. Я успешно использовал эту технику в своем собственном коде на многих различных устройствах / уровнях API.

В качестве отступления: Вы должны быть готовы к тому, что getPlaybackHeadPosition() изменится только большими шагами (если я правильно помню, это getMinBufferSize()/2). Это максимальное разрешение, доступное в системе; onMarkerReached() не может быть использован, чтобы сделать лучше.

0
ответ дан greeble31 22 February 2019 в 02:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: