Я использую AvFoundation для создания приложения для многоотдачи редактора, которое может вставить несколько треков и клип, включая масштабирование некоторого клипа, чтобы изменить скорость клипа, (также я не уверен, является ли AVFoundation лучшим выбором для меня), но после создания шкалы с помощью ScaletImerange API есть какой-то короткий звук шума в воспроизведении. Кроме того, иногда это нормально, когда воспроизводится avmutablecompostion с использованием avPlayer с AvPlayerItem , но после экспорта с AvassetReader будет облагаться некоторым коротким шумом в файле результатов .... не уверен. />https://github.com/luckysmg/daily_image ... ipобразной try! AVAudioSession.sharedInstance().setCategory(.playback)
let composition = AVMutableComposition()
let asset = AVURLAsset(url: Bundle.main.url(forResource: "1", withExtension: "mp3")!)
let originalTrack = asset.tracks(withMediaType: .audio).first!
let divideTime:CMTime = CMTime(seconds: 2, preferredTimescale: 44100)
let timeRange1 = CMTimeRange(start: CMTime(value: .zero, timescale: 44100), end: divideTime)
let timeRange2 = CMTimeRange(start: divideTime, end: asset.duration)
let track = composition.addMutableTrack(withMediaType: .audio, preferredTrackID: kCMPersistentTrackID_Invalid)!
try! track.insertTimeRange(timeRange1, of: originalTrack, at: .zero)
try! track.insertTimeRange(timeRange2, of: originalTrack, at: timeRange1.end)
// scale speed 2x for second timeRange in new track.
// And will cause one "pi" noise sound
// Comment this line to re-listen the difference, the noise will be gone
track.scaleTimeRange(timeRange2, toDuration: CMTimeMultiplyByFloat64(timeRange2.duration, multiplier: 0.5))
let playerItem = AVPlayerItem(asset: composition)
let mix = AVMutableAudioMix()
let params = AVMutableAudioMixInputParameters(track: track)
params.setVolume(1, at: .zero)
mix.inputParameters.append(params)
playerItem.audioMix = mix
player.replaceCurrentItem(with: playerItem)
self.player.play()
Подробнее здесь: https://stackoverflow.com/questions/796 ... ise-points
Авария масштабного диапазона будет вызвать шумовые точки ⇐ IOS
Программируем под IOS
-
Anonymous
1751788927
Anonymous
Я использую AvFoundation для создания приложения для многоотдачи редактора, которое может вставить несколько треков и клип, включая масштабирование некоторого клипа, чтобы изменить скорость клипа, (также я не уверен, является ли AVFoundation лучшим выбором для меня), но после создания шкалы с помощью ScaletImerange API есть какой-то короткий звук шума в воспроизведении. Кроме того, иногда это нормально, когда воспроизводится avmutablecompostion с использованием avPlayer с AvPlayerItem , но после экспорта с AvassetReader будет облагаться некоторым коротким шумом в файле результатов .... не уверен. />https://github.com/luckysmg/daily_images/raw/refs/heads/main/testdemo.zipобразной try! AVAudioSession.sharedInstance().setCategory(.playback)
let composition = AVMutableComposition()
let asset = AVURLAsset(url: Bundle.main.url(forResource: "1", withExtension: "mp3")!)
let originalTrack = asset.tracks(withMediaType: .audio).first!
let divideTime:CMTime = CMTime(seconds: 2, preferredTimescale: 44100)
let timeRange1 = CMTimeRange(start: CMTime(value: .zero, timescale: 44100), end: divideTime)
let timeRange2 = CMTimeRange(start: divideTime, end: asset.duration)
let track = composition.addMutableTrack(withMediaType: .audio, preferredTrackID: kCMPersistentTrackID_Invalid)!
try! track.insertTimeRange(timeRange1, of: originalTrack, at: .zero)
try! track.insertTimeRange(timeRange2, of: originalTrack, at: timeRange1.end)
// scale speed 2x for second timeRange in new track.
// And will cause one "pi" noise sound
// Comment this line to re-listen the difference, the noise will be gone
track.scaleTimeRange(timeRange2, toDuration: CMTimeMultiplyByFloat64(timeRange2.duration, multiplier: 0.5))
let playerItem = AVPlayerItem(asset: composition)
let mix = AVMutableAudioMix()
let params = AVMutableAudioMixInputParameters(track: track)
params.setVolume(1, at: .zero)
mix.inputParameters.append(params)
playerItem.audioMix = mix
player.replaceCurrentItem(with: playerItem)
self.player.play()
Подробнее здесь: [url]https://stackoverflow.com/questions/79691576/avfoundation-scale-time-range-will-cause-noise-points[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия