div # Subtitles for iOS Subtitles enhance the viewing experience by providing text-based translations or transcriptions for audio content. In the Wowza Flowplayer Apple SDK, we support using WebVTT (Web Video Text Tracks) for subtitles. WebVTT files contain time-stamped text tracks that can be synchronized with video playback. By leveraging the WebVTT format and the flexibility of the Apple SDK, you can manage subtitles within your video playback experience while providing multilingual support and accessibility options to users. The subtitle approach you pick depends on the type of media you're integrating into your application. For iOS projects, you need to [provide a valid WebVTT URL](/docs/wowza-flowplayer/apple-sdk/ios-features/subtitles/#add-subtitles-for-external-media) and [enable the HTML Subtitles plugin](/docs/wowza-flowplayer/apple-sdk/ios-features/subtitles/#enable-the-subtitles-plugin) for the player to display subtitles. For information related to listening to events, managing media playback, and handling errors, see the following pages: * [Listen for events](/docs/wowza-flowplayer/apple-sdk/listen-for-events/) * [Manage media playback](/docs/wowza-flowplayer/apple-sdk/manage-media-playback/) * [Handle errors](/docs/wowza-flowplayer/apple-sdk/handle-errors/) ## Add subtitles for Wowza Video media If you're using the `MediaOVP` media type, subtitle configuration occurs through our Wowza Video platform. In Wowza Video, you can configure and associate WebVTT subtitle files with your media content. The Apple SDK automatically retrieves and displays the appropriate subtitles based on the selected language or user preferences. For more, see Add subtitles to a video and Manage subtitles in the files list. ## Add subtitles for external media When using the [MediaExternal](/docs/wowza-flowplayer/apple-sdk/set-up-the-player/#load-your-media-files) type to load external media files, you must provide a valid WebVTT URL within your master file. This URL should point to the WebVTT file location containing the subtitle tracks for your media. The SDK fetches the WebVTT file, handles everything behind the scenes, and displays subtitles during video playback. info For proper rendering and synchronization of the subtitle tracks, ensure that your WebVTT files comply with the WebVTT specification. WebVTT files typically include time intervals and text entries that indicate each subtitle's display duration and content. ## Enable the subtitles plugin **Applies to: iOS** When you enable the [HTML Subtitles](/docs/wowza-flowplayer/plugins/html-subtitles/) plugin, users can see subtitles and the subtitles menu as part of the player's controls. They can toggle subtitles on or off and select different subtitle tracks if available. In the following example, we use the `ControlsConfig` configuration class to manage the subtitle controls for our player instance. This sets the controls configuration for the `flowplayerView` object and enables the subtitle controls in the player. #### Example ```swift // Create an instance of ControlsConfig with the create() method // Assign it to configBuilder constant let configBuilder = ControlsConfig.create() // Enable the subtitles plugin by calling the enablePlugins() method // Pass an array with the plugin name as a parameter configBuilder.enablePlugins(["subtitles"]) // Build the configuration object by calling the build() method on the configBuilder object // Assign it to the flowplayerView.controlsConfig property flowplayerView.controlsConfig = configBuilder.build() ``` ## More resources For more information, see these resources: * [Configure built-in controls](/docs/wowza-flowplayer/apple-sdk/ios-features/player-controls/#configure-built-in-controls) * [Configure player plugins](/docs/wowza-flowplayer/apple-sdk/ios-features/player-controls/#configure-player-plugins) * [Add the player](/docs/wowza-flowplayer/apple-sdk/set-up-the-player/#add-the-player)