{"id":84230,"date":"2021-08-31T09:00:20","date_gmt":"2021-08-31T03:30:20","guid":{"rendered":"https:\/\/techvidvan.com\/tutorials\/?p=84230"},"modified":"2021-08-31T09:00:20","modified_gmt":"2021-08-31T03:30:20","slug":"android-media-player-project","status":"publish","type":"post","link":"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/","title":{"rendered":"Android Media Player Project"},"content":{"rendered":"<p>Music drives our mood, and android is one of the most popular operating systems that allows you to play various media on your device. The media can be videos, songs, images etc. Android provides you with Media Player API, using which we can integrate any of the above-stated media files. The only thing we need to do is to create a raw folder in the res directory and then use this API to play that media.<\/p>\n<p>Android Media Player is one of the most widely used features in android and can be helpful to develop apps like Music or Video Player.<\/p>\n<p>So through this article, we will try to understand what Media Player is and how we can use it to make our own Music Player app.<\/p>\n<h3>Prerequisites for the Proiect<\/h3>\n<p>Before we proceed further, you must ensure that you are ready with the following tools and know the topics mentioned below.<\/p>\n<p>Tools: Android Studio<\/p>\n<p>Topics:<\/p>\n<p>1. Android UI Controls<br \/>\n2. Android Activities<br \/>\n3. Android Event Handling<\/p>\n<h3>What is Android Media Player?<\/h3>\n<p>Media Player is a class provided by Android to manage audio\/video files and streams. Android Media Player provides you with an API to manage several audio\/video present on the device or the network. Even the media player provides you with playback controls such as play\/pause\/stop.<\/p>\n<p>To work with Android Media Player, you first need to create an object of the Media Player, as shown below.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">lateinit var mediaPlayerObj: MediaPlayer\nmediaPlayerObj = MediaPlayer.create(this, R.raw.my_music_file)\nmediaPlayerObj.isLooping = true\n<\/pre>\n<p>The point to note is that Android Media Player is not thread-safe, and whatever you wish to access or control should be in the same thread.<\/p>\n<p>Now let\u2019s see a few of the essential methods for us to know to work with the Android Media Player class.<\/p>\n<ul>\n<li><strong>getDuration():<\/strong> The getDuration() method provides us with the length of a particular song or media in milliseconds.<\/li>\n<li><strong>isPlaying():<\/strong> The isPlaying() method is used to know whether or not a media is playing. It returns true if the media is playing and false if not playing.<\/li>\n<li><strong>pause():<\/strong> The pause() method is used to pause a current media if it\u2019s playing.<\/li>\n<li><strong>stop():<\/strong> The stop() method completely stops the media, and if you play it again, then it starts from the beginning.<\/li>\n<li><strong>reset():<\/strong> The reset() method is used to play a media from its beginning.<\/li>\n<li><strong>getTrack():<\/strong> The getTrack() method is used to get the track of the media.<\/li>\n<li><strong>release():<\/strong> The release() method is used to release all the resources used by the Media Player.<\/li>\n<li><strong>setVolume():<\/strong> The setVolume() method is used to set the volume of your media files.<\/li>\n<\/ul>\n<h3>Configuring your Manifest File<\/h3>\n<p>Before proceeding to the actual implementation, we need to provide a few permissions in the Manifest file.<\/p>\n<p>To make your work easier, we have kept the permissions below, and you can copy them and paste them into your AndroidManifest.xml file.<\/p>\n<p><strong>Code:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;uses-permission android:name= \u201candroid.permission.WAKE_LOCK\u201d \/&gt;\n<\/pre>\n<p>The above permission is used to keep a hold on your processor and screen. It doesn\u2019t allow your device to go to sleep while the media is playing.<\/p>\n<p>The other permission which we can add is your Internet permission. Internet permission is required whenever you require to play some online music. Since we won\u2019t be playing online music in our app so we can avoid providing internet permissions.<\/p>\n<h3>Implementation of Media Player in Android<\/h3>\n<p>I hope you are all set and ready to implement Android Media Player in your android app. To implement this, we will try to develop our music player app. We would go for a basic music player application to play\/pause songs and adjust the volume. So, let\u2019s see the steps how we can develop the app without much delay.<\/p>\n<p>1: Start your Android Studio and click on create a new project.<\/p>\n<p>2: Select Empty Activity, provide an application name, select API level 22, and proceed.<\/p>\n<p>3: Right-click on your resource directory, click on new, and select Android resource Directory. Now create a directory called raw and change its type to raw as shown below. In this directory, you can add the music.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/Implementation_Part.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-84368\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/Implementation_Part.png\" alt=\"Android Media Player Implementation\" width=\"1844\" height=\"1080\" \/><\/a><\/p>\n<p>4: Now open your activity_main.xml file present in <strong>res\/values\/layout<\/strong> and paste the code below. Using this code, we are creating the design and appearance of our music app.<\/p>\n<p><strong>Code: activity_main.xml<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n&lt;LinearLayout xmlns:android=\"http:\/\/schemas.android.com\/apk\/res\/android\"\n    xmlns:tools=\"http:\/\/schemas.android.com\/tools\"\n    android:background=\"@color\/black\"\n    android:layout_width=\"match_parent\"\n    android:layout_height=\"match_parent\"\n    tools:context=\".MainActivity\"\n    android:orientation=\"vertical\"\n    android:gravity=\"center\"&gt;\n\n    &lt;ImageView\n        android:layout_width=\"wrap_content\"\n        android:layout_height=\"wrap_content\"\n        android:src=\"@drawable\/media_image\"\/&gt;\n\n    &lt;SeekBar\n        android:id=\"@+id\/musicBar\"\n        android:layout_width=\"300dp\"\n        android:layout_height=\"wrap_content\"\n        android:layout_marginTop=\"30dp\"\/&gt;\n\n    &lt;LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"&gt;\n        &lt;TextView\n            android:id=\"@+id\/elapsedMusicTime\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"0:00\"\n            android:textColor=\"@color\/white\"\n            android:layout_marginLeft=\"40dp\"\/&gt;\n\n        &lt;TextView\n            android:id=\"@+id\/remainingMusicTime\"\n            android:layout_width=\"wrap_content\"\n            android:layout_height=\"wrap_content\"\n            android:text=\"-3:14\"\n            android:textColor=\"#FFEB3B\"\n            android:layout_marginLeft=\"240dp\"\/&gt;\n    &lt;\/LinearLayout&gt;\n\n    &lt;Button\n        android:id=\"@+id\/playBtn\"\n        android:layout_width=\"50dp\"\n        android:layout_height=\"50dp\"\n        android:background=\"@drawable\/ic_play\"\n        android:layout_marginTop=\"40dp\"\n        android:onClick=\"playBtnClick\"\/&gt;\n\n    &lt;LinearLayout\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"wrap_content\"\n        android:orientation=\"horizontal\"\n        android:layout_marginTop=\"40dp\"\n        android:gravity=\"center\"&gt;\n        &lt;ImageView\n            android:layout_width=\"24dp\"\n            android:layout_height=\"24dp\"\n            android:src=\"@drawable\/ic_sound\"\/&gt;\n        &lt;SeekBar\n            android:id=\"@+id\/volumeBar\"\n            android:layout_width=\"300dp\"\n            android:layout_height=\"wrap_content\"\n            android:progress=\"50\"\n            android:max=\"100\"\/&gt;\n        &lt;ImageView\n            android:layout_width=\"26dp\"\n            android:layout_height=\"26dp\"\n            android:src=\"@drawable\/ic_sound_off\"\/&gt;\n    &lt;\/LinearLayout&gt;\n&lt;\/LinearLayout&gt;\n<\/pre>\n<p>5: Now come back to your MainActivity.kt file and paste in the code below. You are provided with comments to understand what is happening at each line of the MainActivity code.<\/p>\n<p><strong>Code: MainActivity.kt<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\">package com.techvidvan.MusicPlayer\n\nimport android.annotation.SuppressLint\nimport android.media.MediaPlayer\nimport android.os.Bundle\nimport android.os.Handler\nimport android.os.Message\nimport android.view.View\nimport android.widget.Button\nimport android.widget.SeekBar\nimport android.widget.TextView\nimport androidx.appcompat.app.AppCompatActivity\n\nclass MainActivity : AppCompatActivity()\n{\n    \/\/Declaring variables\n    lateinit var volumeBar:SeekBar\n    lateinit var musicBar:SeekBar\n    private var totalTime: Int = 0\n    lateinit var remainingMusicTime:TextView\n    lateinit var elapsedLabel:TextView\n    lateinit var techMediaPlayerObj: MediaPlayer\n    lateinit var playBtn:Button\n\n\n    override fun onCreate(savedInstanceState: Bundle?) {\n        super.onCreate(savedInstanceState)\n        setContentView(R.layout.activity_main)\n\n        \/\/binding our variables with our views\n        volumeBar = findViewById(R.id.volumeBar)\n        musicBar = findViewById(R.id.musicBar)\n        remainingMusicTime = findViewById(R.id.remainingMusicTime)\n        elapsedLabel = findViewById(R.id.elapsedMusicTime)\n        playBtn = findViewById(R.id.playBtn)\n\n        \/\/Creating Media Player Object\n        \/\/here music is the name of my music file you can change it to something else\n\n        techMediaPlayerObj = MediaPlayer.create(this, R.raw.music)\n        techMediaPlayerObj.isLooping = true\n        techMediaPlayerObj.setVolume(0.5f, 0.5f)\n        totalTime = techMediaPlayerObj.duration\n\n        \/\/ Code for adjusting Volume\n        volumeBar.setOnSeekBarChangeListener(\n            object : SeekBar.OnSeekBarChangeListener {\n                override fun onProgressChanged(seekbar: SeekBar?, progress: Int, fromUser: Boolean) {\n                    if (fromUser) {\n                        val volumeNum = progress \/ 100.0f\n                        techMediaPlayerObj.setVolume(volumeNum, volumeNum)\n                    }\n                }\n                override fun onStartTrackingTouch(p0: SeekBar?) {\n                }\n                override fun onStopTrackingTouch(p0: SeekBar?) {\n                }\n            }\n        )\n\n        \/\/ Code for adjusting the Music seek bar\n        musicBar.max = totalTime\n        musicBar.setOnSeekBarChangeListener(\n            object : SeekBar.OnSeekBarChangeListener {\n                override fun onProgressChanged(seekBar: SeekBar?, progress: Int, fromUser: Boolean) {\n                    if (fromUser) {\n                        techMediaPlayerObj.seekTo(progress)\n                    }\n                }\n                override fun onStartTrackingTouch(p0: SeekBar?) {\n                }\n                override fun onStopTrackingTouch(p0: SeekBar?) {\n                }\n            }\n        )\n\n        \/\/ Creating thread\n        Thread(Runnable {\n            while (true) {\n                try {\n                    val msg = Message()\n                    msg.what = techMediaPlayerObj.currentPosition\n                    handler.sendMessage(msg)\n                    Thread.sleep(1000)\n                } catch (e: InterruptedException) {\n                }\n            }\n        }).start()\n    }\n\n    @SuppressLint(\"HandlerLeak\")\n    var handler = object : Handler() {\n        @SuppressLint(\"SetTextI18n\")\n        override fun handleMessage(msg: Message) {\n            val currentPosition = msg.what\n\n            \/\/ Update music seekbar\n            musicBar.progress = currentPosition\n\n            \/\/ Update remaining and elapsed Labels\n            val elapsedTime = createTimeLabel(currentPosition)\n            elapsedLabel.text = elapsedTime\n\n            val remainingTime = createTimeLabel(totalTime - currentPosition)\n            remainingMusicTime.text = \"-$remainingTime\"\n        }\n    }\n\n    fun createTimeLabel(time: Int): String {\n        var timeLabel = \"\"\n        val min = time \/ 1000 \/ 60\n        val sec = time \/ 1000 % 60\n\n        timeLabel = \"$min:\"\n        if (sec &lt; 10) timeLabel += \"0\"\n        timeLabel += sec\n\n        return timeLabel\n    }\n\n    fun playBtnClick(v: View) {\n\n        if (techMediaPlayerObj.isPlaying) {\n            \/\/ Stop\n            techMediaPlayerObj.pause()\n            playBtn.setBackgroundResource(R.drawable.ic_play)\n\n        } else {\n            \/\/ Start\n            techMediaPlayerObj.start()\n            playBtn.setBackgroundResource(R.drawable.ic_pause)\n        }\n    }\n\n}<\/pre>\n<p>Now, just go ahead and run your application on your device or emulator and notice the output.<\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output_1-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-84365\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output_1-2.jpg\" alt=\"Android media player\" width=\"1080\" height=\"2280\" \/><\/a><\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output_2-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-84366\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output_2-2.jpg\" alt=\"Android Media player project\" width=\"1080\" height=\"2280\" \/><\/a><\/p>\n<p><a href=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output_3-1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-84367\" src=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/08\/App_Output_3-1.jpg\" alt=\"Android media Player\" width=\"1080\" height=\"2280\" \/><\/a><\/p>\n<p>While you play the music, even if you go to the background still the music keeps on playing.<\/p>\n<h3>Summary<\/h3>\n<p>Through this article, you understood what Android Media Player is and how it allows you to play multiple media formats on your device. You came across all the required steps which you need to follow to implement. Finally, you saw a mini Music Player Project build using the above implementation. I hope you enjoyed it and would go further to develop more incredible apps.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Music drives our mood, and android is one of the most popular operating systems that allows you to play various media on your device. The media can be videos, songs, images etc. Android provides&#46;&#46;&#46;<\/p>\n","protected":false},"author":1,"featured_media":84362,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2791],"tags":[4157,4158],"class_list":["post-84230","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","tag-android-media-player","tag-android-media-player-project"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Android Media Player Project - TechVidvan<\/title>\n<meta name=\"description\" content=\"Learn what Android Media Player is and how it allows you to play multiple media formats on your device. Create your project in Android.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Android Media Player Project - TechVidvan\" \/>\n<meta property=\"og:description\" content=\"Learn what Android Media Player is and how it allows you to play multiple media formats on your device. Create your project in Android.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/\" \/>\n<meta property=\"og:site_name\" content=\"TechVidvan\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/TechVidvan\/\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-31T03:30:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-Media-Player.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"TechVidvan Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:site\" content=\"@vidvantech\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TechVidvan Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Android Media Player Project - TechVidvan","description":"Learn what Android Media Player is and how it allows you to play multiple media formats on your device. Create your project in Android.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/","og_locale":"en_US","og_type":"article","og_title":"Android Media Player Project - TechVidvan","og_description":"Learn what Android Media Player is and how it allows you to play multiple media formats on your device. Create your project in Android.","og_url":"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/","og_site_name":"TechVidvan","article_publisher":"https:\/\/www.facebook.com\/TechVidvan\/","article_published_time":"2021-08-31T03:30:20+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-Media-Player.jpg","type":"image\/jpeg"}],"author":"TechVidvan Team","twitter_card":"summary_large_image","twitter_creator":"@vidvantech","twitter_site":"@vidvantech","twitter_misc":{"Written by":"TechVidvan Team","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/#article","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/"},"author":{"name":"TechVidvan Team","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22"},"headline":"Android Media Player Project","datePublished":"2021-08-31T03:30:20+00:00","mainEntityOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/"},"wordCount":838,"commentCount":0,"publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-Media-Player.jpg","keywords":["Android Media Player","Android Media Player Project"],"articleSection":["Android Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/","url":"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/","name":"Android Media Player Project - TechVidvan","isPartOf":{"@id":"https:\/\/techvidvan.com\/tutorials\/#website"},"primaryImageOfPage":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/#primaryimage"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/#primaryimage"},"thumbnailUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-Media-Player.jpg","datePublished":"2021-08-31T03:30:20+00:00","description":"Learn what Android Media Player is and how it allows you to play multiple media formats on your device. Create your project in Android.","breadcrumb":{"@id":"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/#primaryimage","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-Media-Player.jpg","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2021\/08\/Android-Media-Player.jpg","width":1200,"height":628,"caption":"Android Media Player"},{"@type":"BreadcrumbList","@id":"https:\/\/techvidvan.com\/tutorials\/android-media-player-project\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/techvidvan.com\/tutorials\/"},{"@type":"ListItem","position":2,"name":"Android Media Player Project"}]},{"@type":"WebSite","@id":"https:\/\/techvidvan.com\/tutorials\/#website","url":"https:\/\/techvidvan.com\/tutorials\/","name":"TechVidvan Blogs","description":"","publisher":{"@id":"https:\/\/techvidvan.com\/tutorials\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/techvidvan.com\/tutorials\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/techvidvan.com\/tutorials\/#organization","name":"TechVidvan","url":"https:\/\/techvidvan.com\/tutorials\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/","url":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","contentUrl":"https:\/\/techvidvan.com\/tutorials\/wp-content\/uploads\/2024\/03\/techvidvan-logo-200x50-1.webp","width":200,"height":50,"caption":"TechVidvan"},"image":{"@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/TechVidvan\/","https:\/\/x.com\/vidvantech"]},{"@type":"Person","@id":"https:\/\/techvidvan.com\/tutorials\/#\/schema\/person\/e9c26e74dd3d87421f7ada9433b8cd22","name":"TechVidvan Team","description":"The TechVidvan Team delivers practical, beginner-friendly tutorials on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Our experts are here to help you upskill and excel in today\u2019s tech industry."}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/84230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/comments?post=84230"}],"version-history":[{"count":0,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/posts\/84230\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media\/84362"}],"wp:attachment":[{"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/media?parent=84230"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/categories?post=84230"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techvidvan.com\/tutorials\/wp-json\/wp\/v2\/tags?post=84230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}