안녕하세요 ![]()
혹시 해당 이슈 아직 해결이 안되셨을까요 ?
방금 테스트했더니, 사운드가 정상적으로 on/off 처리 되더라구요 ![]()
// Assets/Scripts/BgmVisibilityController.cs
using System;
using UnityEngine;
using AppsInToss;
[RequireComponent(typeof(AudioSource))]
public class BgmVisibilityController : MonoBehaviour
{
[SerializeField] private AudioSource audioSource; // Inspector에서 할당
private void Awake()
{
if (audioSource == null)
audioSource = GetComponent<AudioSource>();
}
private void OnEnable()
{
try
{
bool current = AppsInToss.AITVisibilityHelper.IsVisible;
ApplyVisibility(current);
}
catch (Exception)
{
// SDK 호출 실패 시 기본 동작: 재생 유지
}
// 이벤트 구독
AppsInToss.AITVisibilityHelper.OnVisibilityChanged += OnVisibilityChanged;
}
private void OnDisable()
{
AppsInToss.AITVisibilityHelper.OnVisibilityChanged -= OnVisibilityChanged;
}
private void OnVisibilityChanged(bool isVisible)
{
Debug.Log($"[BgmMinimal] Visibility changed -> {isVisible}");
ApplyVisibility(isVisible);
}
public void SetVisibility(bool isVisible) => ApplyVisibility(isVisible);
private void ApplyVisibility(bool isVisible)
{
if (audioSource == null) return;
if (isVisible)
{
if (audioSource.time > 0f && !audioSource.isPlaying) audioSource.UnPause();
else if (!audioSource.isPlaying) audioSource.Play();
}
else
{
audioSource.Pause();
}
}
}