Platforms to show: All Mac Windows Linux Cross-Platform
Required plugins for this example: MBS MacCF Plugin, MBS MacCG Plugin, MBS Main Plugin, MBS MacBase Plugin, MBS Util Plugin, MBS AVFoundation Plugin
Last modified Tue, 12th Jan 2026.
You find this example project in your MBS Xojo Plugin download as a Xojo project file within the examples folder: /AVFoundation/AVAudioRecorder
Download this example: AVAudioRecorder.zip
Project "AVAudioRecorder.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Löschen"
Const kFileQuit = "Beenden"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control BevelButton1 Inherits BevelButton
ControlInstance BevelButton1 Inherits BevelButton
EventHandler Sub Action()
run
End EventHandler
End Control
EventHandler Sub Open()
AVFoundation = new MyAVFoundationMBS
End EventHandler
Sub Run()
dim f as FolderItem = SpecialFolder.Desktop.Child("test.caf")
dim recordSetting as new Dictionary
dim n as integer = OSTypeFromStringMBS(AVFoundation.kAudioFormatLinearPCM)
recordSetting.Value(AVFoundationMBS.AVFormatIDKey) = n
recordSetting.Value(AVFoundationMBS.AVSampleRateKey) = 44100.0
recordSetting.Value(AVFoundationMBS.AVNumberOfChannelsKey) = 2
recordSetting.Value(AVFoundationMBS.AVLinearPCMBitDepthKey) = 16
recordSetting.Value(AVFoundationMBS.AVLinearPCMIsBigEndianKey) = false
recordSetting.Value(AVFoundationMBS.AVLinearPCMIsFloatKey) = false
dim error as NSErrorMBS
recorder = new AVAudioRecorderMBS(f, nil, error)
if error<>Nil then
MsgBox error.LocalizedDescription
Return
end if
if recorder.recordForDuration(10) then
// ok
AVFoundation.CurrentFile = f
else
MsgBox "Failed to start recording."
end if
End Sub
Property AVFoundation As MyAVFoundationMBS
Property recorder As AVAudioRecorderMBS
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&Ablage"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Bearbeiten"
MenuItem EditUndo = "&Rückgängig"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "&Ausschneiden"
MenuItem EditCopy = "&Kopieren"
MenuItem EditPaste = "&Einfügen"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "&Alles auswählen"
End MenuBar
Class MyAVFoundationMBS Inherits AVFoundationMBS
EventHandler Sub audioRecorderDidFinishRecording(recorder as AVAudioRecorderMBS, successful as boolean)
if successful then
CurrentFile.Launch
end if
End EventHandler
EventHandler Sub audioRecorderEncodeErrorDidOccur(recorder as AVAudioRecorderMBS, error as NSErrorMBS)
MsgBox "Failed to encode recording: "+error.LocalizedDescription
End EventHandler
Property CurrentFile As FolderItem
End Class
Sign
End Sign
ExternalFile info
End ExternalFile
End Project
Download this example: AVAudioRecorder.zip
The items on this page are in the following plugins: MBS AVFoundation Plugin.