2012-12-27 5 views
0

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

Я разрабатываю приложение, в котором 12 треков должны выполняться параллельно и они есть, но моя проблема заключается в том, что время начала не одинаково.

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

Мой код, который воспроизводит все дорожки при нажатии кнопки.

mp1_track_a.start(); 
    mp1_track_b.start();   
    mp2_track_a.start(); 
    mp2_track_b.start();   
    mp3_track_a.start(); 
    mp3_track_b.start(); 
    mp4_track_a.start(); 
    mp4_track_b.start(); 
    mp5_track_a.start(); 
    mp5_track_b.start(); 
    mp6_track_a.start(); 
    mp6_track_b.start(); 

ответ

0

Это не возможно иметь prallele работу, как вы спрашиваете с одним процессором с одним ядром (вы должны рассмотреть меньше мощности андроид устройства). Даже тяжело, что у вас есть несколько трэдов, в повторном использовании они будут работать последовательно.

+0

Уважаемый gezdy Это требование клиента. И некоторое время все треки или 2 или 3 трека синхронизируются. Это означает, что если я могу поставить в очередь мои треки непосредственно на мой процессор, и никто не прерывает между ними, мои треки могут быть синхронизированы, но до сих пор у меня нет решения для управления процессором сотового телефона. Мой процессор сотового телефона - двухъядерный процессор 1 ГГц и 1 ГБ оперативной памяти. – PKTomar

+0

Как я уже сказал, это невозможно. По минусам вы можете сделать последовательное приложение, контролирующее выполнение потоков. Например, вы можете выполнить поток -0 от 0 миллисекунд до 100 мс, остановить его и вызвать thread-1 для выполнения той же самой вещи (0 -> 100 мс) и т. Д. Здесь приращение составляет 100 мс, но вы можете уточнить. Когда вы говорите: «И какое-то время все треки или 2 или 3 трека синхронизируются», это всего лишь чувство. Когда вы используете свой компьютер для прослушивания музыки одновременно, вы печатаете документ, и вы выполняете свою программу, вы думаете, что все происходит одновременно, но нет! – gezdy

+0

вы можете сказать своему клиенту, «согласно вашим требованиям, это невозможно». Чтобы иметь разницу в 0 миллисекунд между 12 дорожками, у вас должно быть хотя бы устройство с 1 процессором с 12 ядрами или 2 proc с 6 ядрами, ... – gezdy

Смежные вопросы