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:
Nuwan 2026-01-14 11:02:57 +05:30
parent 2a435806e7
commit 2c5ba2f4bc
1 changed files with 7 additions and 7 deletions

View File

@ -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) {