10

I need to record a video of my app to use for the Preview in the App Store. It's crucial for me to feature the actual app audio (since it's an interactive educational app for musicians).

Xcode Simulator 12.5 has the great new feature of easily recording video… but the recorded video doesn't include sound.

Does anyone know a good way to record a video demonstration of an app with app sound?

(It's easy to do with QuickTime and an actual iPhone/iPad… but this is only a solution if you happen to have a collection of devices matching each of the required App Preview resolutions… which I don't.)

UPDATE: I tried to record the audio separately, thinking that I could always merge it with the video in Final Cut/Premiere etc. To do this I installed BlackHole; my plan was to use QuickTime Player to record the audio, choosing BlackHole as the audio source. Unfortunately, BlackHole does not seem to include the audio output of Simulator.

Anton
  • 2,512
  • 2
  • 20
  • 36
  • 1
    It used to be possible to create a virtual audio device with Soundflower system extension. Then you could select this virtual device for output in Simulator, and record from. Not sure what it's status with latest macOS-es. – paiv Jul 02 '21 at 17:49
  • Thanks, @paiv. Actually Soundflower has been retired and BlackHole, which I mentioned above, is its replacement. So that's what I tried, but I can't get it to recognize Simulator's audio output. All I get is silence. BlackHole works fine on my other apps. ‍♂️ – Anton Jul 02 '21 at 19:11
  • 1
    Perhaps you need to select BlackHole as the audio output for your Mac before starting the simulator and running your app in the simulator? (perhaps the simulator sets its output when it starts, to whichever is the current audio output?) – auspicious99 Jul 07 '21 at 06:01
  • @auspicious99 Thanks. But the simulator actually sets its audio output through its menu: I/O > Audio Output, which is how I've been doing it. (But I also tried setting the system output before entering Simulator, just to see, and it didn't change anything.) Did you try? – Anton Jul 07 '21 at 14:32
  • Why don't you use a real device? – Mojtaba Hosseini Jul 07 '21 at 15:09
  • Ah, I didn't realise about the I/O > Audio Output. Ok, so I just tried, and found that I could get it working with Screen Recording, rather than Movie Recording (with Quicktime Player). – auspicious99 Jul 07 '21 at 15:15
  • @mojtaba-hosseini Unfortunately, I would need 4 devices for that, one matching each of the specific resolutions required by the App Store (2 iPhones, 2 iPads). As I mentioned in the post, I don't have those. :( – Anton Jul 07 '21 at 19:12

2 Answers2

5

You can use BlackHole. The following was confirmed with BlackHole 16 ch (it may also work with BlackHole 2 ch), where I ran Safari on the simulator and visited youtube to play a video with audio.

  • set the Simulator audio output (I/O -> Audio Output) to BlackHole 16 ch
  • use Quicktime Player's "Screen Recording" rather than "Movie Recording", and select the video box to exactly cover the simulator, with "Microphone" selection as "BlackHole 16 ch" (under the screen recording "Options" dropdown)
  • to confirm the recorded video has the appropriate sound, set the Mac's audio output (near the top right of the screen) to Macbook Pro Speakers (if it is a Macbook Pro), and play the recorded video in Quicktime Player.
auspicious99
  • 3,902
  • 1
  • 44
  • 58
  • 1
    Thank you, @auspicious99. That's exactly what I've been doing (with BlackHole 2 ch) without any success. But with your success as inspiration I just restarted (AGAIN) and went directly to setting the settings and it works. I'm not sure what is interfering, but it does NOT seem to be a direct incompatibility btwn Simulator & BlackHole after all. My plan will be to record the video within Simulator (so the crop is perfect) and the audio in Audacity (free and more control than QuickTime) and combine the two in iMovie or Premiere. Thanks! – Anton Jul 07 '21 at 19:50
  • (BTW I wonder whether the success had to do with me changing the sample rate to 44.1kHz instead of 48kHz, which it defaulted to. I forgot that I did make that change.) – Anton Jul 07 '21 at 20:22
  • Hmm, interesting. I'm not sure, but thanks for the update too. Good to know in case anyone faces the same type of challenges in the future. – auspicious99 Jul 08 '21 at 05:10
  • @Anton When you say "went directly to setting the settings and it works", do you mean settings in the simulator? – auspicious99 Jul 08 '21 at 05:11
  • I meant just that from startup I went directly into Simulator and Audacity, set the audio output of Simulator to BlackHole and the the input of Audacity to BlackHole (without first running any other apps or changing any settings) and Audacity was able to record the Simulator audio. – Anton Jul 08 '21 at 15:07
  • Ok, so that's like the procedure with Quicktime Player screen recording, except it works better for you with Audacity as you don't need to capture video along with the audio anyway. Glad to know that worked for you. – auspicious99 Jul 08 '21 at 16:49
  • 1
    This worked for me but I had to restart my Mac after installation. – Sherwin Zadeh Feb 15 '23 at 18:44
2

Well, you can use a screen recorder as OBS or Record It-Screen Recorder, that it's very helpful for me. There, you can select the application or the space of the computer that you want to record. You just edit the video, and that's it.

Dharman
  • 30,962
  • 25
  • 85
  • 135
MAGNUZZ777
  • 63
  • 6
  • 1
    The Record It-Screen Recorder is on App Store. If you don't find it there, here's the link of the App in App Store site web. https://apps.apple.com/mx/app/record-it-screen-recorder/id1339001002?mt=12 – MAGNUZZ777 Jul 02 '21 at 23:32
  • Thank you, @MAGNUZZ777. I didn't know about Record-It. It DOES succeed at recording audio from Simulator, whereas BlackHole does not for me! That's very helpful. Since the video part is a paid solution, I'll still wait to see if someone can suggest a free method. – Anton Jul 04 '21 at 17:11