Arcore записывает только один пользовательский трек за кадр - поддерживает ли запись на несколько треков?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Arcore записывает только один пользовательский трек за кадр - поддерживает ли запись на несколько треков?

Сообщение Anonymous »

Я работаю с API записи и воспроизведения Arcore и пытаюсь записать пользовательские данные в несколько пользовательских треков во время одного сеанса и кадра. В то время как API позволяет регистрировать и записывать на несколько треков, только Первый зарегистрированный трек когда -либо получает данные во время воспроизведения. Второй трек всегда возвращает пустой список из Frame.getUpdatedTrackData (...) , хотя я записываю уникальные данные для обоих. Я пытаюсь понять, поддерживается ли запись нескольких треков или есть скрытое ограничение. />>

Код: Выделить всё

Track trackA = new Track(session).setId(TRACK_A_ID);
Track trackB = new Track(session).setId(TRACK_B_ID);

RecordingConfig recordingConfig = new RecordingConfig(session)
...
.addTrack(trackA)
.addTrack(trackB);
session.startRecording(recordingConfig)
< /code>
Затем на каждом кадре: < /p>
private void recordCustomData(Frame frame) {
int value1 = 1;
int value2 = 2;

ByteBuffer byteBuffer1 = ByteBuffer.allocate(4);
byteBuffer1.putInt(value1);

ByteBuffer byteBuffer2 = ByteBuffer.allocate(4);
byteBuffer2.putInt(value2);

frame.recordTrackData(TRACK_A_ID, byteBuffer1);
frame.recordTrackData(TRACK_B_ID, byteBuffer2);
}

private void getCustomData(Frame frame) {
Log.d(TAG, "TRACK_A_ID track: " + frame.getUpdatedTrackData(TRACK_A_ID));
Log.d(TAG, "TRACK_B_ID track: " + frame.getUpdatedTrackData(TRACK_B_ID));
}

< /code>
 Результат: < /h3>
Только один из двух треков когда -либо получает данные. Пример вывода журнала: < /p>
...

TRACK_A_ID track: [com.google.ar.core.TrackData]
TRACK_B_ID track: []

TRACK_A_ID track: [com.google.ar.core.TrackData]
TRACK_B_ID track: []

...
< /code>
Если я переключаю порядок регистрации, а также переводит порядок записи, другой трек получает данные вместо этого: < /p>
RecordingConfig recordingConfig = new RecordingConfig(session)
...
.addTrack(trackB)
.addTrack(trackA);

private void recordCustomData(Frame frame) {
...
frame.recordTrackData(TRACK_B_ID, byteBuffer2);
frame.recordTrackData(TRACK_A_ID, byteBuffer1);
}

< /code>
Вывод журнала становится: < /p>
...

TRACK_A_ID track: []
TRACK_B_ID track: [com.google.ar.core.TrackData]

TRACK_A_ID track: []
TRACK_B_ID track: [com.google.ar.core.TrackData]

...
< /code>
 Мой вопрос: < /h3>
[list]
[*] На самом деле поддерживается ли он для записи на несколько пользовательских треков в одном и том же кадре /сеансе в Arcore? Все значения в один bytebuffer 
для одного трека?
[/list]
среда

[*] Протестировано на (физические устройства): Pixel 7 (Android 16), Pixel 3xl (Android 12)
arcore raster: 1.49.099.099. /> Использование: Официальный образец записи и воспроизведения (java) < /li>
< /ul>

Подробнее здесь: https://stackoverflow.com/questions/797 ... ple-tracks
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»