fix(uat-02-01): parse string values and add playback mode parameter
Fixes UAT-002 (continued): Slider not moving, time not updating
Two issues discovered:
1. jamClient returns string values ('0', '228818') not numbers
2. SessionStartPlay() requires playback mode parameter (missing in our code)
Solution:
- Use parseInt() to convert jamClient string returns to numbers
- Pass playback mode parameter 1 (normal playback) to SessionStartPlay()
- Matches legacy implementation: SessionStartPlay(1) or SessionStartPlay(data.playbackMode)
This should enable:
- Slider to move during playback (now has numeric position values)
- Audio to actually start playing (correct API call with parameter)
- Time displays to update correctly
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
2a435806e7
commit
2c5ba2f4bc
|
|
@ -49,8 +49,8 @@ const JKSessionBackingTrackPlayer = ({
|
|||
const durationInMs = await jamClient.SessionGetTracksPlayDurationMs();
|
||||
console.log('JKSessionBackingTrackPlayer: Duration from jamClient:', durationInMs, 'Type:', typeof durationInMs);
|
||||
|
||||
// Ensure we have a valid number
|
||||
const validDuration = (durationInMs != null && !isNaN(durationInMs) && durationInMs >= 0) ? durationInMs : 0;
|
||||
// Convert string to number (jamClient returns string values)
|
||||
const validDuration = parseInt(durationInMs, 10) || 0;
|
||||
setDurationMs(validDuration);
|
||||
setDuration(formatTime(validDuration));
|
||||
} catch (error) {
|
||||
|
|
@ -81,9 +81,9 @@ const JKSessionBackingTrackPlayer = ({
|
|||
|
||||
console.log('JKSessionBackingTrackPlayer polling:', { positionMs, durationInMs, trackIsPlaying });
|
||||
|
||||
// Ensure valid numbers
|
||||
const validPosition = (positionMs != null && !isNaN(positionMs) && positionMs >= 0) ? positionMs : 0;
|
||||
const validDuration = (durationInMs != null && !isNaN(durationInMs) && durationInMs >= 0) ? durationInMs : 0;
|
||||
// Convert strings to numbers (jamClient returns string values)
|
||||
const validPosition = parseInt(positionMs, 10) || 0;
|
||||
const validDuration = parseInt(durationInMs, 10) || 0;
|
||||
|
||||
setCurrentPositionMs(validPosition);
|
||||
setCurrentTime(formatTime(validPosition));
|
||||
|
|
@ -115,8 +115,8 @@ const JKSessionBackingTrackPlayer = ({
|
|||
await jamClient.SessionPausePlay();
|
||||
setIsPlaying(false);
|
||||
} else {
|
||||
// Play
|
||||
await jamClient.SessionStartPlay();
|
||||
// Play (1 = normal playback mode)
|
||||
await jamClient.SessionStartPlay(1);
|
||||
setIsPlaying(true);
|
||||
}
|
||||
} catch (error) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue