# Getting Started with the .NET MAUI SpeechToTextButton

This guide provides the information you need to start using the Telerik UI for .NET MAUI SpeechToTextButton by adding the control to your project.

At the end, you will achieve the following result.

![.NET MAUI SpeechToTextButton Getting Started](https://www.telerik.com/maui-ui/documentation/assets/4043470218cb06df6db82926bc197dbe/speechtotextbutton-getting-started.png)

## Prerequisites

Before adding the SpeechToTextButton, you need to:

1. [Set up your .NET MAUI application](https://www.telerik.com/maui-ui/documentation/get-started/quickstart#prerequisites).

2. [Set Up Telerik Development Environment](https://www.telerik.com/maui-ui/documentation/get-started/quickstart#set-up-telerik-development-environment)

## Required Permissions

Before adding the control, ensure that you have the required permissions set up in your project.

### Android

Add the following permissions to your `AndroidManifest.xml` file:

```xml
<uses-permission android:name="android.permission.RECORD_AUDIO" />
```

### iOS and MacCatalyst

Add the `NSMicrophoneUsageDescription` and `NSSpeechRecognitionUsageDescription` permissions to your `Info.plist` file:

```xml
<key>NSMicrophoneUsageDescription</key>
<string>The SpeechToTextButton requires access to microphone.</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>The SpeechToTextButton requires access to the Speech Recognition service.</string>
```

### WinUI

There are limitations when using the SpeechToTextButton on WinUI. When clicking on the control, the `InvalidOperationException` occurs.

To turn speech recognition on WinUI, review the [WinUI Support](https://www.telerik.com/maui-ui/documentation/controls/speechtotextbutton/winui-support) article.

## Define the Control

**1.** When your .NET MAUI application is set up, you are ready to add a SpeechToTextButton control to your page:

```XAML
<telerik:RadSpeechToTextButton x:Name="speechToTextButton" />
```

```C#
var speechToTextButton = new RadSpeechToTextButton();
```

**2.** Add the `telerik` namespace:

```XAML
xmlns:telerik="http://schemas.telerik.com/2022/xaml/maui"
```

```C#
using Telerik.Maui.Controls;
```

**3.** Register the Telerik controls through the `Telerik.Maui.Controls.Compatibility.UseTelerik` extension method called inside the `CreateMauiApp` method of the `MauiProgram.cs` file of your project:

```C#
using Telerik.Maui.Controls.Compatibility;
public static class MauiProgram
{
	public static MauiApp CreateMauiApp()
	{
		var builder = MauiApp.CreateBuilder();
		builder
			.UseTelerik()
			.UseMauiApp<App>()
			.ConfigureFonts(fonts =>
			{
				fonts.AddFont("OpenSans-Regular.ttf", "OpenSansRegular");
			});
		return builder.Build();
	}
}           
```

> For a runnable example with the SpeechToTextButton Getting Started scenario, see the [SDKBrowser Demo Application](https://www.telerik.com/maui-ui/documentation/demos-and-sample-apps/sdkbrowser-app) and go to the **SpeechToTextButton > Getting Started** category.

## Additional Resources

* [Configure the SpeechToTextButton](https://www.telerik.com/maui-ui/documentation/controls/speechtotextbutton/configuration)
* [Set Visual States](https://www.telerik.com/maui-ui/documentation/controls/speechtotextbutton/visual-states)
* [Events](https://www.telerik.com/maui-ui/documentation/controls/speechtotextbutton/events)
* [Execute Commands](https://www.telerik.com/maui-ui/documentation/controls/speechtotextbutton/commands)
* [Style the SpeechToTextButton](https://www.telerik.com/maui-ui/documentation/controls/speechtotextbutton/styling)

## See Also

* [.NET MAUI SpeechToTextButton Product Page](https://www.telerik.com/maui-ui/speechtotextbutton)
* [.NET MAUI SpeechToTextButton Forum Page](https://www.telerik.com/forums/maui?tagId=1764)
* [Telerik .NET MAUI Blogs](https://www.telerik.com/blogs/mobile-net-maui)
* [Telerik .NET MAUI Roadmap](https://www.telerik.com/support/whats-new/maui-ui/roadmap)
