In this PowerApps example, we will discuss how to save your own voice record in SharePoint Online using PowerApps and Power Automate. We will see here, how to work with PowerApps audio control. Let us see steps for Saving microphone audio recorded in PowerApps to SharePoint online.
I have also created a video tutorial on the same.
Create voice recording in PowerApps
Now, let us see how to create voice recording in PowerApps. We will do this using a PowerApps Canvas app.
Step 1: Login to your PowerApps and create a canvas app using Mobile view.
Step 2: Next go to the Insert tab and drag and drop the below control inside your screen.
- Button —-Save
- TextBox —Enter File Name
- Label — Microphone in PowerApps
- Audio — Listen to your Recording
- Microphone —Record your Voice
Step 3: Next click on Audio control and update the Media property as Microphone1.Audio.
Step 4: Next click on Microphone and set the below property in OnStop
Set(tmpJson,JSON(Microphone1.Audio,IncludeBinaryData));
Set(strB64Audio, Mid(tmpJson,25,Len(tmpJson)-25));
As we know we can’t save the audio in SharePoint through PowerApps or Power Automate, here we have an option to convert our voice to a binary format and set it in a variable.
Step 5: Next click on Save button and go to onSelect property and update the below property like
SaveRecording.Run(strB64Audio,TextInput1.Text)
Here SaveRecording is your flow name which you will create to save your voice in SharePoint Online. So here you will get an error if you not yet created the flow. So update this property after step 6.
Saving microphone audio recorded in PowerApps to SharePoint online
Step 6: Next go to the Power Automate and you can see I have already created my flow called SaveRecording. So you can also create a new flow and provide the name and the same name you have to provide in step 5.
Step 7: Here we need to add two steps. First, we have to initialize the variable then create a file to save our voice record.
Step 8: Next provide any name in the name section and type should be string and Value should be Initialize variable. Next Provide the SharePoint site address, File path and File Content to upload the Audio.
Step 9: In value section, you have to Ask in PowerApps to update the Value.
Step 10: Here in File Name you have to Ask in PowerApps and set the property Createfile-FileName.
Step 10: In file Content you have to go to expression and convert the variable to base64ToBinary and pass your variable here.
Step 11: Next go to the PowerApps and Run. Next start your recording and after some time stop the recording.
Next start your audio and it will start speaking whatever you recorded and next provide any file name in the textbox and click on Save button. So your recording file will save it in SharePoint library.
Step 12: So login to the SharePoint and go to your Audio library and see my recording file is successfully created over here.
You may like following Power Platform tutorials:
- PowerApps filter SharePoint list Example
- Display COVID-19 Power bi report in PowerApps
- How to embed Power bi report in PowerApps portal
- How to display Power bi google analytics in PowerApps
- Display Office 365 User Profile Properties in PowerApps
- Microsoft Flow or PowerAutomate: Trigger email based on user input
- SharePoint PowerApps Example – Get bank branch details based on State
- PowerApps nested gallery control example
I hope this tutorial help you to learn about powerapps audio control and Saving microphone audio recorded in PowerApps to SharePoint online.
Rajkiran is currently working as a SharePoint Consultant in India . Rajkiran having 7+ years of experience in Microsoft Technologies such as SharePoint 2019/2016/2013/2010, MOSS 2007,WSS 3.0, Migration, Asp.Net, C#.Net, Sql Server, Ajax, jQuery etc.He is C#Corner MVP (2 Times).
Your solution works for running the app inside of Chrome browser but not on IOS (and likely Android). If you replace in OnStop Mid(varJson,25,Len(varJson)-25) with Left(Last(Split(varJson,”,”)).Result,Len(Last(Split(varJson,”,”)).Result)-1). This is a more generic version that appears to work for other platforms. The original one was hardcoded for length of header. This is more generic.
Shouldn’t you parse the JSON string in PowerAutomate and extract the info you want from the object?
Your suggestion was right. Your code worked on all devices. Thanks!
Brian, great add to this article. Was running into the same issue, until I read your comment. I will note though, I still face an issue trying to play back the SP recording within PowerApps Desktop and iOS devices. It does work within the PowerApps browser.
Thanks for this. This was helpful.