Нужна помощь: Swiftui Macos Screen Recorder сбойIOS

Программируем под IOS
Ответить
Anonymous
 Нужна помощь: Swiftui Macos Screen Recorder сбой

Сообщение Anonymous »

🛑 Нужна помощь: Swiftui Macos Screen Recorder Crashd, из -за проблем с металлом/Scstream 🛑
Эй, сообщество Swiftui! 👋 < /p>
Я строю рекордер экрана macos, используя Swiftui + ScreencaptureKit (scstream) + AvFoundation, но я сталкиваюсь с постоянными авариями и проблемами, связанными с металлом. < /P>
⚠ Проблемы, встречающиеся: < /p>

сбой из -за [mtligacceldevice supportsdynamicattributeStride]
ошибка: pgsqlcopyedit *** завершающее приложение из -за непредвзятого исключения ' NsinvalidargumentException ', причина:'-[mtligacceldevice supportsdynamicattributeStride]: не распознанный селектор, отправленный в экземпляр '< /p>
< /blockquote>
, кажется, связан с металлическим рендерингом, но я не использую металл Явно.
Приоритетная инверсия приоритета. случается, когда я запускаю Scstream.
AvassetWriter Проблема
[avassetWriterinput AppendSampleBuffer:] не может добавить образцо буфера: должен начать сеанс (используя -[avassetWriter StartsEssessionAtSourcetime:]) Первый
🔹 Что я Прошерец: < /p>
✅ Отключенный металлический рендеринг в ядра
✅ сброс TCC Promissions (экрана сброса Tccutil)
✅ Установленная xcode + инструменты командной строки
✅ Обеспеченные Правильная настройка scstreamconfiguration < /p>
📌 код фрагмент: setupstream () < /p>
swiftCopyEditfunc setupStream() {
Task(priority: .userInitiated) {
do {
let content = try await SCShareableContent.excludingDesktopWindows(false, onScreenWindowsOnly: true)

guard let display = content.displays.first else {
await MainActor.run { self.error = .streamSetupFailed }
return
}

let filter = SCContentFilter(display: display, excludingApplications: [], exceptingWindows: [])
let configuration = SCStreamConfiguration()
configuration.width = 1920
configuration.height = 1080
configuration.minimumFrameInterval = CMTime(value: 1, timescale: 60)
configuration.capturesAudio = true

let newStream = SCStream(filter: filter, configuration: configuration, delegate: nil)

try await MainActor.run {
try newStream.addStreamOutput(self, type: .screen, sampleHandlerQueue: self.videoQueue)
try newStream.addStreamOutput(self, type: .audio, sampleHandlerQueue: self.audioQueue)
}

self.stream = newStream
try await stream?.startCapture()

} catch {
await MainActor.run { self.error = .streamSetupFailed }
}
}
}
< /code>
🆘 Вопросы: < /p>
Как я могу правильно обработать металлический рендеринг, чтобы избежать этого сбоя? ?
Любое понимание того, что AvassetWriter не начинается должным образом? Спасибо! 🙏
🚀 Спецификации Mac: MacBook Pro середина 2012 года, выполнение Sequoia 15.2, Xcode 16.2
🔥 Цель: плавная запись с помощью видео/захвата звука в macOS с использованием ScreenCaptureKit.

Подробнее здесь: https://stackoverflow.com/questions/794 ... r-crashing
Ответить

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

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

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

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

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