Cualquier ayuda para grabar y reproducir audio simultáneamente en Iphone.Grabar y reproducir audio simultáneamente
Respuesta
Puede obtener un uso del marco de AVFoundation. Tiene AVAudioPlayer para reproducir archivos de audio y AVAudioRecorder para grabar. Debe tener en cuenta que Recorder grabará solo con el micrófono. Por lo tanto, la reproducción simultanea de un archivo de audio y la grabación dependen de cómo el micrófono percibirá el audio que se reproduce.
Puede reproducir y grabar simultáneamente en dispositivos iOS (excepto el toque de primera generación) utilizando la unidad de audio RemoteIO o la API Audio Queue. Estas son API de nivel inferior en las que tiene que manejar los búferes entrantes de las muestras de PCM entrantes y salientes usted mismo.
Consulte la aplicación de muestra aurioTouch de Apple, por ejemplo, el código.
¿Algún código de Objective C o swift disponible? –
Por favor marque aurioTouch código de ejemplo para el registro de manzana-and-play audio simultáneamente
También puede comprobar Recording Audio on an iPhone
Esperanza esto ayuda a algunas personas ... Hice una aplicación que graba audio, por ejemplo a partir de una aplicación como Pandora y puede reproducir el audio. Ejecute/Reproduzca una aplicación de audio, ejecute AudioMic, grabe, apague el sonido de la aplicación de audio, regrese y reproduzca el audio grabado de AudioMic. ¡Hurra!
para grabar un juego de los archivos de audio en iOS, puede utilizar marco AVFoundation. Utilice el siguiente código rápido para grabar y reproducir los audios. Recuerde que la grabadora grabará el audio con el uso del micrófono, por lo tanto, pruebe este código en el dispositivo.
import UIKit
import AVFoundation
extension String {
func stringByAppendingPathComponent(path: String) -> String {
let nsSt = self as NSString
return nsSt.stringByAppendingPathComponent(path)
}
}
class ViewController: UIViewController, AVAudioPlayerDelegate, AVAudioRecorderDelegate{
var audioPlayer : AVAudioPlayer!
var audioRecorder : AVAudioRecorder!
@IBOutlet var recordButton : UIButton!
@IBOutlet var playButton : UIButton!
@IBOutlet var stopButton : UIButton!
override func viewDidLoad() {
super.viewDidLoad()
self.recordButton.enabled = true
self.playButton.enabled = false
self.stopButton.enabled = false
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
//MARK: UIButton action methods
@IBAction func playButtonClicked(sender : AnyObject){
let dispatchQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)
dispatch_async(dispatchQueue, {
if let data = NSData(contentsOfFile: self.audioFilePath())
{
do{
self.audioPlayer = try AVAudioPlayer(data: data)
self.audioPlayer.delegate = self
self.audioPlayer.prepareToPlay()
self.audioPlayer.play()
}
catch{
print("\(error)")
}
}
});
}
@IBAction func stopButtonClicked(sender : AnyObject){
if let player = self.audioPlayer{
player.stop()
}
if let record = self.audioRecorder{
record.stop()
let session = AVAudioSession.sharedInstance()
do{
try session.setActive(false)
}
catch{
print("\(error)")
}
}
}
@IBAction func recordButtonClicked(sender : AnyObject){
let session = AVAudioSession.sharedInstance()
do{
try session.setCategory(AVAudioSessionCategoryPlayAndRecord)
try session.setActive(true)
session.requestRecordPermission({ (allowed : Bool) -> Void in
if allowed {
self.startRecording()
}
else{
print("We don't have request permission for recording.")
}
})
}
catch{
print("\(error)")
}
}
func startRecording(){
self.playButton.enabled = false
self.recordButton.enabled = false
self.stopButton.enabled = true
do{
let fileURL = NSURL(string: self.audioFilePath())!
self.audioRecorder = try AVAudioRecorder(URL: fileURL, settings: self.audioRecorderSettings() as! [String : AnyObject])
if let recorder = self.audioRecorder{
recorder.delegate = self
if recorder.record() && recorder.prepareToRecord(){
print("Audio recording started successfully")
}
}
}
catch{
print("\(error)")
}
}
func audioFilePath() -> String{
let path = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)[0]
let filePath = path.stringByAppendingPathComponent("test.caf") as String
return filePath
}
func audioRecorderSettings() -> NSDictionary{
let settings = [AVFormatIDKey : NSNumber(int: Int32(kAudioFormatMPEG4AAC)), AVSampleRateKey : NSNumber(float: Float(16000.0)), AVNumberOfChannelsKey : NSNumber(int: 1), AVEncoderAudioQualityKey : NSNumber(int: Int32(AVAudioQuality.Medium.rawValue))]
return settings
}
//MARK: AVAudioPlayerDelegate methods
func audioPlayerDidFinishPlaying(player: AVAudioPlayer, successfully flag: Bool) {
if flag == true{
print("Player stops playing successfully")
}
else{
print("Player interrupted")
}
self.recordButton.enabled = true
self.playButton.enabled = false
self.stopButton.enabled = false
}
//MARK: AVAudioRecorderDelegate methods
func audioRecorderDidFinishRecording(recorder: AVAudioRecorder, successfully flag: Bool) {
if flag == true{
print("Recording stops successfully")
}
else{
print("Stopping recording failed")
}
self.playButton.enabled = true
self.recordButton.enabled = false
self.stopButton.enabled = false
}
}
me había probado este código en xCode 7,0 & iOS 9.
- 1. Grabar y reproducir audio simultáneamente en iOS
- 2. Qt - cómo grabar y reproducir sonido simultáneamente
- 3. Reproducir y grabar audio al mismo tiempo
- 4. Avfoundation - Reproducir y grabar video (junto con audio y vista previa) simultáneamente
- 5. ¿Grabar audio y reproducir iPod al mismo tiempo?
- 6. AVCaptureSession Grabar video con audio
- 7. Reproducción y grabación simultáneamente usando Core Audio en iOS
- 8. ¿Qué formato de audio se puede grabar y reproducir con iPhone y Android?
- 9. Grabar audio iOS
- 10. Error de audio al reproducir dos archivos de audio AVPlayer simultáneamente
- 11. Detectar y grabar audio en Python
- 12. ¿Puede grabar video/audio en el iPhone mientras reproduce un video por separado (con audio opcionalmente)?
- 13. ¿Puede el emulador de Android grabar y reproducir audio utilizando hardware de PC?
- 14. Android grabar video sin audio
- 15. Reproducir audio con Node.JS
- 16. Reproducir audio con Python
- 17. ¿Grabar sonido y reproducir sonido modulado en Android?
- 18. ¿Cómo grabar y reproducir sonido en la aplicación iPhone?
- 19. Reproducir y grabar video mientras se reproduce música de fondo
- 20. reproducir dos videos en iPhone simultáneamente
- 21. Mala calidad de sonido al grabar/reproducir sonidos - Android SDK
- 22. Android AudioRecord contra MediaRecorder para grabar audio
- 23. ¿Grabar audio usando el micrófono HTML5?
- 24. ¿Grabar audio en tiempo real en java?
- 25. Grabar audio y Subir como WAV o MP3 al servidor
- 26. ¿Es posible grabar etiquetas de audio html5?
- 27. Reproducir audio y video con una tubería en Gstreamer (Python)
- 28. Burlarse usando 'tradicional' Grabar/Reproducir frente al modelo Moq
- 29. Elemento de audio HTML para reproducir?
- 30. reproducir audio de Internet usando AVAudioPlayer
Solicito más descripción. La grabación debe hacerse por micrófono? Cuán preciso debe ser la sincronización, etc. Tal vez debería verificar el código de muestra de manzana aurioTouch. – Vanya