Правильный способ воспроизведения звуков в SwiftUIIOS

Программируем под IOS
Ответить
Anonymous
 Правильный способ воспроизведения звуков в SwiftUI

Сообщение Anonymous »

Мое приложение для iOS содержит в проекте файлы mp3. Я использую AVAudioPlayer для воспроизведения звуков. Для большинства пользователей и для всех наших тестовых телефонов все работает нормально. Но некоторые пользователи жалуются, что не слышат никаких звуков. Я попросил их подтвердить, что громкость включена и звук на устройстве не отключен, и они это подтвердили. Я также предоставил им отладочную версию посредством тестового полета, которая распечатывает сообщение, когда должен воспроизводиться звук, чтобы сообщить мне, если что-то пошло не так. Он печатает звук, который был воспроизведен.
Я не уверен, почему это работает на большинстве устройств iOS, но не на других. Я протестировал его на той же версии iOS 18 и версии iPhone, на которой его видит один из пользователей, но я не могу его воспроизвести.
Вот мой метод воспроизведения звука. Когда они запускают отладочную версию, они видят «Звук был воспроизведен». Итак, я знаю, что он находит файл, никаких исключений не было и звуковой файл был найден. Не знаю, на что обратить внимание дальше.
Звуковые файлы имеют формат mp3 и хранятся в корневом каталоге проекта. Но я не могу себе представить, что проблема в местоположении, иначе я бы увидел распечатанное сообщение «Звуковой файл не найден».
import Foundation
import AVFoundation
import UIKit
public var muteSounds: Bool = false
var audioPlayer:AVAudioPlayer?
struct SoundService {

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

func playSound(soundfile: String) -> String{

if (!muteSounds) {

if let path = Bundle.main.path(forResource: soundfile, ofType: nil){
do{
audioPlayer = try AVAudioPlayer(contentsOf: URL(fileURLWithPath: path))
audioPlayer?.prepareToPlay()
audioPlayer?.play()
return "Sound was played"
}catch {
print("Error trying to play sound")
return("Error trying to play sound")
}
} else {
return "Sound File could not be found"
}

} else {
return "Sounds are muted"
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... lay-sounds
Ответить

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

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

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

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

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