mirror of
https://github.com/movie-web/native-app.git
synced 2025-09-13 16:33:26 +00:00
chore: add logs to useaudiotrack
This commit is contained in:
@@ -12,32 +12,40 @@ export const useAudioTrack = () => {
|
|||||||
|
|
||||||
const synchronizePlayback = useCallback(
|
const synchronizePlayback = useCallback(
|
||||||
async (selectedAudioTrack?: AudioTrack, stream?: Stream) => {
|
async (selectedAudioTrack?: AudioTrack, stream?: Stream) => {
|
||||||
|
console.log("synchronizePlayback called");
|
||||||
|
|
||||||
if (selectedAudioTrack && stream) {
|
if (selectedAudioTrack && stream) {
|
||||||
|
console.log("Loading audio track", selectedAudioTrack.uri);
|
||||||
const { uri } = selectedAudioTrack;
|
const { uri } = selectedAudioTrack;
|
||||||
const sound = new Audio.Sound();
|
const { sound } = await Audio.Sound.createAsync({
|
||||||
await sound.loadAsync({
|
// never resolves or rejects :(
|
||||||
uri,
|
uri,
|
||||||
headers: {
|
headers: {
|
||||||
...stream.headers,
|
...stream.headers,
|
||||||
...stream.preferredHeaders,
|
...stream.preferredHeaders,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
console.log("Audio track loaded");
|
||||||
setAudioObject(sound);
|
setAudioObject(sound);
|
||||||
} else {
|
} else {
|
||||||
if (audioObject) {
|
if (audioObject) {
|
||||||
|
console.log("Unloading existing audio track");
|
||||||
await audioObject.unloadAsync();
|
await audioObject.unloadAsync();
|
||||||
setAudioObject(null);
|
setAudioObject(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (videoRef && audioObject) {
|
if (videoRef && audioObject) {
|
||||||
|
console.log("Synchronizing audio with video");
|
||||||
const videoStatus = await videoRef.getStatusAsync();
|
const videoStatus = await videoRef.getStatusAsync();
|
||||||
|
|
||||||
if (selectedAudioTrack && videoStatus.isLoaded) {
|
if (selectedAudioTrack && videoStatus.isLoaded) {
|
||||||
|
console.log("Muting video and starting audio playback");
|
||||||
await videoRef.setIsMutedAsync(true);
|
await videoRef.setIsMutedAsync(true);
|
||||||
await audioObject.setPositionAsync(videoStatus.positionMillis);
|
await audioObject.setPositionAsync(videoStatus.positionMillis);
|
||||||
await audioObject.playAsync();
|
await audioObject.playAsync();
|
||||||
} else {
|
} else {
|
||||||
|
console.log("Unmuting video");
|
||||||
await videoRef.setIsMutedAsync(false);
|
await videoRef.setIsMutedAsync(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user