How to Achive Video and Audio Call in xamarin forms

SwagatikaSwagatika Member ✭✭✭

I am trying to develop a app with Video and audio call functionality.Any Suggestion please?

Answers

  • LucasZhangLucasZhang Member, Xamarin Team Xamurai

    You can use the plugin Xam.Plugins.VideoPlayer from Nuget .

    Note: Remeber to take care of ATS for iOS Applications (info.plist)

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
    

    Usage:

    <ContentPage x:Class="Xam.Plugins.VideoPlayer.Sample.Views.Page1"
                 xmlns="http://xamarin.com/schemas/2014/forms"
                 xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
                 xmlns:videoPlayer="clr-namespace:Xam.Plugins.VideoPlayer;assembly=Xam.Plugins.VideoPlayer">
        <ContentPage.Resources>
            <ResourceDictionary>
                <videoPlayer:IntToTimeSpanConverter x:Key="intToTimeSpanConverter" />
            </ResourceDictionary>
        </ContentPage.Resources>
        <StackLayout Orientation="Vertical">
            <videoPlayer:VideoPlayerView x:Name="video"
                                         BindingContext="{Binding SelectedVideo}"
                                         HeightRequest="300"
                                         VideoSource="{Binding PlaybackUrl}"
                                         WidthRequest="600" />
            <StackLayout Orientation="Horizontal">
                <Button Command="{Binding Path=SeekCommand, Source={x:Reference video}, Converter={StaticResource intToTimeSpanConverter}, ConverterParameter=-5}" Text="Rewind" />
                <Button Command="{Binding Path=PlayCommand, Source={x:Reference video}}" Text="Play" />
                <Button Command="{Binding Path=PauseCommand, Source={x:Reference video}}" Text="Pause" />
                <Button Command="{Binding Path=StopCommand, Source={x:Reference video}}" Text="Stop" />
                <Button Command="{Binding Path=SeekCommand, Source={x:Reference video}, Converter={StaticResource intToTimeSpanConverter}, ConverterParameter=5}" Text="FastForward" />
            </StackLayout>
            <StackLayout Orientation="Vertical">
                <Label Text="{Binding Position, StringFormat='Position {0}'}" />
            </StackLayout>
            <ListView x:Name="lstVideos"
                      ItemsSource="{Binding Videos}"
                      SelectedItem="{Binding SelectedVideo}">
                <ListView.ItemTemplate>
                    <DataTemplate>
                        <ViewCell>
                            <ViewCell.View>
                                <StackLayout Orientation="Vertical">
                                    <Label FontSize="Medium" Text="{Binding Title}" />
                                </StackLayout>
                            </ViewCell.View>
                        </ViewCell>
                    </DataTemplate>
                </ListView.ItemTemplate>
            </ListView>
        </StackLayout>
    </ContentPage>
    
  • Amar_BaitAmar_Bait DZMember ✭✭✭✭✭
    edited June 28

    If you're asking this question, you're not ready to do it yet. Sorry it's the truth. I would say you're 1 to 2 years minimum away from making an audio/video chat app that just works. To create a GOOD audio/video chat app, you need 3-4 years.

    Now can you just make your way by asking code here, googling, copying/pasting from StackOverflow?

    Yes. You have a (small) chance to do it if you know how to Google correctly, which is btw a key skill every developer should have, yet only few seem to have it, according to the daily repetitive questions we see in these forums.

    Will you become a better developer or learn something?

    No. You would be a worse developer, since you will believe that you can always make your way like this, thus holding you from learning.

Sign In or Register to comment.