Closed ponnamkarthik closed 6 years ago
String html = ''''<div class="postArticle-content js-postField js-notesSource js-trackedPost" data-post-id="ac7a012b7a25" data-source="post_page" data-tracking-context="postPage" data-scroll="native"><section name="1ef3" class="section section--body section--first"><div class="section-divider"><hr class="section-divider"></div><div class="section-content"><div class="section-inner sectionLayout--insetColumn"><h1 name="0b3a" id="0b3a" class="graf graf--h3 graf--leading graf--title">Rtmp Player Android using Exo-Media Player</h1><p name="12c9" id="12c9" class="graf graf--p graf-after--h3">Hello Reader’s, before we start</p><h3 name="e452" id="e452" class="graf graf--h3 graf-after--p">Lets see What is RTMP ?</h3><p name="61c0" id="61c0" class="graf graf--p graf-after--h3">RTMP stands for <strong class="markup--strong markup--p-strong">real-time messaging protocol</strong>. It provides for high-performance transmission of audio, video, and data from an encoder to a server, which distributes the signal across the Internet. Many streaming providers and encoder developers support RTMP streaming, including Livestream.</p><p name="54ad" id="54ad" class="graf graf--p graf-after--p">read more about rtmp <a href="https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol" data-href="https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol" class="markup--anchor markup--p-anchor" rel="nofollow noopener" target="_blank">here</a>.</p><p name="72b6" id="72b6" class="graf graf--p graf-after--p">No more Theory lets start coding :-)</p><h4 name="8eb6" id="8eb6" class="graf graf--h4 graf-after--p">Step 1:</h4><p name="b87c" id="b87c" class="graf graf--p graf-after--h4">change minimum SDK version</p><pre name="5d83" id="5d83" class="graf graf--pre graf-after--p">defaultConfig{<br>...<br>minSdkVersion 15<br>...<br>}</pre><p name="48bb" id="48bb" class="graf graf--p graf-after--pre">because in order to use this extension-rtmp library the minimum sdk needed is 15</p><p name="fc41" id="fc41" class="graf graf--p graf-after--p">edit your <strong class="markup--strong markup--p-strong"><em class="markup--em markup--p-em">build.gradle</em></strong> file and add the following two dependencies</p><pre name="6919" id="6919" class="graf graf--pre graf-after--p"><span class="markup--quote markup--pre-quote is-other" name="9a0b2939de14" data-creator-ids="c1efa5b3e3d9">compile 'com.google.android.exoplayer:exoplayer:r2.5.1' compile 'com.google.android.exoplayer:extension-rtmp:r2.5.1'</span></pre><p name="6218" id="6218" class="graf graf--p graf-after--pre">then sync your project</p><h4 name="a3ca" id="a3ca" class="graf graf--h4 graf-after--p">Step 2:</h4><p name="738c" id="738c" class="graf graf--p graf-after--h4">Create a simple exoplayer view in your layout file</p><pre name="b4b2" id="b4b2" class="graf graf--pre graf-after--p"><com.google.android.exoplayer2.ui.SimpleExoPlayerView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/simple_player"> </com.google.android.exoplayer2.ui.SimpleExoPlayerView></pre><h4 name="ddc0" id="ddc0" class="graf graf--h4 graf-after--pre">Step 3:</h4><p name="3682" id="3682" class="graf graf--p graf-after--h4">Now in your player activity add the lines to prepare the player</p><figure name="7f2e" id="7f2e" class="graf graf--figure graf--iframe graf-after--p"><div class="aspectRatioPlaceholder is-locked"><div class="aspectRatioPlaceholder-fill" style="padding-bottom: 77.286%;"></div><div class="progressiveMedia js-progressiveMedia is-canvasLoaded is-imageLoaded" data-scroll="native"><img src="https://i.embed.ly/1/display/resize?url=https%3A%2F%2Favatars0.githubusercontent.com%2Fu%2F19759716%3Fv%3D4%26s%3D400&key=4fce0568f2ce49e8b54624ef71a8a5bd&width=40" crossorigin="anonymous" class="progressiveMedia-thumbnail js-progressiveMedia-thumbnail"><canvas class="progressiveMedia-canvas js-progressiveMedia-canvas" width="75" height="75"></canvas><div class="iframeContainer"><iframe data-src="/media/4e35a514ae391514736c81a899e52ac6?postId=ac7a012b7a25" data-media-id="4e35a514ae391514736c81a899e52ac6" data-thumbnail="https://i.embed.ly/1/image?url=https%3A%2F%2Favatars0.githubusercontent.com%2Fu%2F19759716%3Fv%3D4%26s%3D400&key=4fce0568f2ce49e8b54624ef71a8a5bd" class="progressiveMedia-iframe js-progressiveMedia-iframe" allowfullscreen="" src="/media/4e35a514ae391514736c81a899e52ac6?postId=ac7a012b7a25" __idm_frm__="10737418307" width="700" height="250" frameborder="0"></iframe></div><noscript class="js-progressiveMedia-inner"><div class="iframeContainer"><IFRAME width="700" height="250" src="/media/4e35a514ae391514736c81a899e52ac6?postId=ac7a012b7a25" data-media-id="4e35a514ae391514736c81a899e52ac6" data-thumbnail="https://i.embed.ly/1/image?url=https%3A%2F%2Favatars0.githubusercontent.com%2Fu%2F19759716%3Fv%3D4%26s%3D400&key=4fce0568f2ce49e8b54624ef71a8a5bd" allowfullscreen frameborder="0"></IFRAME></div></noscript></div></div></figure><p name="2e47" id="2e47" class="graf graf--p graf-after--figure">Run your code and the rtmp stream will be playing in your app and the size of is approx ~2.5Mb</p><p name="e2ae" id="e2ae" class="graf graf--p graf-after--p graf--trailing">download the project <a href="https://github.com/PonnamKarthik/RTMP-Exo-Player-Demo" data-href="https://github.com/PonnamKarthik/RTMP-Exo-Player-Demo" class="markup--anchor markup--p-anchor" rel="nofollow noopener" target="_blank">here</a>.</p></div></div></section><section name="49a5" class="section section--body section--last"><div class="section-divider"><hr class="section-divider"></div><div class="section-content"><div class="section-inner sectionLayout--insetColumn"><blockquote name="a575" id="a575" class="graf graf--pullquote graf--leading graf--trailing">If you find this article useful please recommend and share.</blockquote></div></div></section></div>''';
i got the below error when i am trying with the above html code
I/flutter (24544): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ I/flutter (24544): The following NoSuchMethodError was thrown building PostDetails(dirty, state: I/flutter (24544): _PostDetailsState#fb885): I/flutter (24544): The getter 'localName' was called on null. I/flutter (24544): Receiver: null I/flutter (24544): Tried calling: localName I/flutter (24544): I/flutter (24544): When the exception was thrown, this was the stack: I/flutter (24544): #0 Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:46:5) I/flutter (24544): #1 Node.nodeName (package:html2md/src/node.dart:58:30) I/flutter (24544): #2 Rules.indentedCodeBlock.<anonymous closure> (package:html2md/src/rules.dart:165:25) I/flutter (24544): #3 Rule._check (package:html2md/src/rules.dart:49:61) I/flutter (24544): #4 Rule.findRule.<anonymous closure> (package:html2md/src/rules.dart:59:55) I/flutter (24544): #5 _ListBase&Object&ListMixin.firstWhere (dart:collection/list.dart:142:15) I/flutter (24544): #6 Rule.findRule (package:html2md/src/rules.dart:59:29) I/flutter (24544): #7 _replacementForNode (package:html2md/src/converter.dart:79:19) I/flutter (24544): #8 _process (package:html2md/src/converter.dart:71:21) I/flutter (24544): #9 _replacementForNode (package:html2md/src/converter.dart:83:17) I/flutter (24544): #10 _process (package:html2md/src/converter.dart:71:21) I/flutter (24544): #11 convert (package:html2md/src/converter.dart:44:16) I/flutter (24544): #12 _PostDetailsState.getPostContent (package:bloggerapp/screens/post_details.dart:129:23) I/flutter (24544): #13 _PostDetailsState.build (package:bloggerapp/screens/post_details.dart:96:19) I/flutter (24544): #14 StatefulElement.build (package:flutter/src/widgets/framework.dart:3713:27) I/flutter (24544): #15 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3625:15) I/flutter (24544): #16 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #17 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5) I/flutter (24544): #18 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3752:11) I/flutter (24544): #19 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5) I/flutter (24544): #20 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #21 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #22 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16) I/flutter (24544): #23 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #24 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5) I/flutter (24544): #25 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5) I/flutter (24544): #26 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #27 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #28 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14) I/flutter (24544): #29 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #30 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #31 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14) I/flutter (24544): #32 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #33 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #34 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14) I/flutter (24544): #35 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #36 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #37 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14) I/flutter (24544): #38 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #39 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #40 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16) I/flutter (24544): #41 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #42 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5) I/flutter (24544): #43 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3752:11) I/flutter (24544): #44 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5) I/flutter (24544): #45 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #46 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #47 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16) I/flutter (24544): #48 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #49 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5) I/flutter (24544): #50 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5) I/flutter (24544): #51 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #52 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #53 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16) I/flutter (24544): #54 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #55 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5) I/flutter (24544): #56 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3752:11) I/flutter (24544): #57 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5) I/flutter (24544): #58 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #59 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #60 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14) I/flutter (24544): #61 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #62 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #63 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16) I/flutter (24544): #64 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #65 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5) I/flutter (24544): #66 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5) I/flutter (24544): #67 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #68 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #69 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14) I/flutter (24544): #70 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #71 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #72 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16) I/flutter (24544): #73 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #74 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5) I/flutter (24544): #75 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3752:11) I/flutter (24544): #76 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5) I/flutter (24544): #77 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #78 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #79 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16) I/flutter (24544): #80 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #81 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5) I/flutter (24544): #82 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5) I/flutter (24544): #83 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #84 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #85 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4637:14) I/flutter (24544): #86 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #87 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #88 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16) I/flutter (24544): #89 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #90 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5) I/flutter (24544): #91 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5) I/flutter (24544): #92 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #93 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #94 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16) I/flutter (24544): #95 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #96 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5) I/flutter (24544): #97 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3752:11) I/flutter (24544): #98 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5) I/flutter (24544): #99 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #100 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #101 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16) I/flutter (24544): #102 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #103 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3605:5) I/flutter (24544): #104 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3752:11) I/flutter (24544): #105 ComponentElement.mount (package:flutter/src/widgets/framework.dart:3600:5) I/flutter (24544): #106 Element.inflateWidget (package:flutter/src/widgets/framework.dart:2890:14) I/flutter (24544): #107 Element.updateChild (package:flutter/src/widgets/framework.dart:2693:12) I/flutter (24544): #108 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4420:32) I/flutter (24544): #109 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4752:17) I/flutter (24544): #110 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15) I/flutter (24544): #111 _TheatreElement.update (package:flutter/src/widgets/overlay.dart:507:16) I/flutter (24544): #112 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15) I/flutter (24544): #113 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16) I/flutter (24544): #114 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #115 StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5) I/flutter (24544): #116 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15) I/flutter (24544): #117 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16) I/flutter (24544): #118 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #119 ProxyElement.update (package:flutter/src/widgets/framework.dart:3892:5) I/flutter (24544): #120 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15) I/flutter (24544): #121 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14) I/flutter (24544): #122 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15) I/flutter (24544): #123 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16) I/flutter (24544): #124 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #125 StatefulElement.update (package:flutter/src/widgets/framework.dart:3782:5) I/flutter (24544): #126 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15) I/flutter (24544): #127 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14) I/flutter (24544): #128 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15) I/flutter (24544): #129 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4644:14) I/flutter (24544): #130 Element.updateChild (package:flutter/src/widgets/framework.dart:2682:15) I/flutter (24544): #131 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3636:16) I/flutter (24544): #132 Element.rebuild (package:flutter/src/widgets/framework.dart:3478:5) I/flutter (24544): #133 BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2225:33) I/flutter (24544): #134 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:621:20) I/flutter (24544): #135 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5) I/flutter (24544): #136 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15) I/flutter (24544): #137 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9) I/flutter (24544): #138 _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:842:5) I/flutter (24544): [{ID: 1, url: https://android-developers.googleblog.com, blogid: 6755709643044947179, blogname: Android Developers Blog}] I/flutter (24544): #139 _invoke (dart:ui/hooks.dart:120:13) I/flutter (24544): #140 _drawFrame (dart:ui/hooks.dart:109:3) I/flutter (24544): ════════════════════════════════════════════════════════════════════════════════════════════════════
Thank you for reporting. I will fix this issue in version 0.1.6
Version 0.1.6 published, I think this issue is fixed.
@jarontai its working
Close this issue because it's fixed.
i got the below error when i am trying with the above html code