{"id":69552,"date":"2025-08-22T03:01:00","date_gmt":"2025-08-21T17:01:00","guid":{"rendered":"https:\/\/www.rjmprogramming.com.au\/ITblog\/?p=69552"},"modified":"2025-08-22T18:31:01","modified_gmt":"2025-08-22T08:31:01","slug":"youtube-api-caller-other-media-interfacing-tutorial","status":"publish","type":"post","link":"https:\/\/www.rjmprogramming.com.au\/ITblog\/youtube-api-caller-other-media-interfacing-tutorial\/","title":{"rendered":"YouTube API Caller Other Media Interfacing Tutorial"},"content":{"rendered":"<div style=\"width: 230px\" class=\"wp-caption alignnone\"><a target=\"_blank\" href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/stop_start_youtube.html\" rel=\"noopener\"><img decoding=\"async\" style=\"border: 15px solid pink;\" alt=\"YouTube API Caller Other Media Interfacing Tutorial\" src=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/stop_start_youtube_nonyt.jpg\" title=\"YouTube API Caller Other Media Interfacing Tutorial\"  style=\"float:left;\"  \/><\/a><p class=\"wp-caption-text\">YouTube API Caller Other Media Interfacing Tutorial<\/p><\/div>\n<p>Today&#8217;s work is the result of a &#8220;generic push&#8221; by us to improve on attempts in the past to use our inhouse <a target=\"_blank\" title='YouTube' href='https:\/\/youtube.com' rel=\"noopener\">YouTube<\/a> video playing interfacing suite of web applications to mix &#8230;<\/p>\n<ul>\n<li>YouTube video media content &#8230; interspersed with &#8230;<\/li>\n<li>non YouTube media content<\/li>\n<\/ul>\n<p> &#8230; when we presented <a target=\"_blank\" href='https:\/\/www.rjmprogramming.com.au\/ITblog\/spliced-audio-video-youtube-shuffle-tutorial\/' title='Spliced Audio\/Video YouTube Shuffle Tutorial' rel=\"noopener\">Spliced Audio\/Video YouTube Shuffle Tutorial<\/a> blog posting thread.  We better like this &#8220;generic push&#8221; idea of adapting our inhouse <a target=\"_blank\" title='YouTube API for Iframe embedded videos' href='https:\/\/developers.google.com\/youtube\/iframe_api_reference' rel=\"noopener\">YouTube API<\/a> interfacing web application to process both types of media input categories and be handled just within it&#8217;s remit, if there are non YouTube media items, within a (newly nesting) &#8230;<\/p>\n<ul>\n<li>table element &#8230; with &#8230;<\/li>\n<li>left hand cell handling YouTube video media content presented via YouTube API&#8217;s iframe element approach &#8230; and the &#8230;<\/li>\n<li>right hand cell handling non YouTube video media content presented via video or audio or img or iframe element depending on the data mimetype &#8230;<\/li>\n<\/ul>\n<p> &#8230; and it is our inhouse YouTube API interfacing web application&#8217;s job to toggle between CSS <i>display:none;<\/i> and <i>display:table-cell;<\/i> for these two cells appropriately.<\/p>\n<p>This work we see as a two part mini-project where &#8230;<\/p>\n<ol>\n<li>today&#8217;s phase 1 work isolates that inhouse YouTube API interfacing web application and asks it to handle new hashtag based data arguments coming in to demonstrate it, in that isolation, works both for the new paradigm and any previous scenarios &#8230; and then &#8230;<\/li>\n<li>after today we start phase 2 work interfacings, where we will rejoin the blog posting thread of yesterday&#8217;s <a target=\"_blank\" title='Tabular Single Row Emoji Sharing Menu Tutorial' href='https:\/\/www.rjmprogramming.com.au\/ITblog\/tabular-single-row-emoji-sharing-menu-tutorial\/' rel=\"noopener\">Tabular Single Row Emoji Sharing Menu Tutorial<\/a> and allow for the smarter inhouse YouTube API interfacing web application to be relatively seamless changing between YouTube and non YouTube media playing should a user enter a data URI, for example, in one of those textboxes to the right of the checkboxes<\/li>\n<\/ol>\n<p> &#8230; for <a target=\"_blank\" href=\"http:\/\/www.rjmprogramming.com.au\/PHP\/Geographicals\/diff.php?one=http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/stop_start_youtube.html-------------------------------------------------------GETME\" rel=\"noopener\">the modified<\/a> <a target=\"_blank\" href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/stop_start_youtube.html-------------------------------------------------------GETME\" rel=\"noopener\">stop_start_youtube.html<\/a> <a target=\"_blank\" href=\"http:\/\/www.rjmprogramming.com.au\/HTMLCSS\/stop_start_youtube.html\" rel=\"noopener\">YouTube API caller<\/a>.<\/p>\n<p>Here is a non YouTube video example &#8230;<\/p>\n<p><iframe style='width:100%;height:600px;zoom:0.8;'  src='\/\/www.rjmprogramming.com.au\/HTMLCSS\/stop_start_youtube.html?isnextanswer=cannotenda2%23%20My%20Video%20Example%20%2Fschool_activities_vd.mp4'><\/iframe><\/p>\n<p> &#8230; and here is a <a target=\"_blank\" title='New window' href='\/\/www.rjmprogramming.com.au\/HTMLCSS\/stop_start_youtube.html?isnextanswer=0Gz_7am23rk' rel=\"noopener\">YouTube example<\/a> &#8230;<\/p>\n<div style=\"width:600px;height:900px;overflow:auto;-webkit-overflow-scrolling:touch;\">\n<iframe style='width:100%;height:900px;zoom:0.5;'  src='\/\/www.rjmprogramming.com.au\/HTMLCSS\/stop_start_youtube.html?isnextanswer=0Gz_7am23rk'><\/iframe>\n<\/div>\n<p> &#8230; and here is a non YouTube audio example &#8230;<\/p>\n<p><iframe style='width:100%;height:250px;'  src='\/\/www.rjmprogramming.com.au\/HTMLCSS\/stop_start_youtube.html?isnextanswer=cannotenda2%23%20My%20Audio%20Example%20%2FMac%2FiPad%2Fslide4.m4a'><\/iframe><\/p>\n<p> &#8230; and here is a non YouTube animated GIF example &#8230;<\/p>\n<p><iframe style='width:100%;height:2100px;zoom:0.2;'  src='\/\/www.rjmprogramming.com.au\/HTMLCSS\/stop_start_youtube.html?isnextanswer=cannotenda2%23%20My%20Animated%20GIF%20Example%20%2Fbubble_sort.gif'><\/iframe><\/p>\n<p>If this was interesting you may be interested in <a title='Click here to see topics in which you might be interested' href='#d69552' onclick='var dv=document.getElementById(\"d69552\"); dv.innerHTML = \"&lt;iframe width=670 height=600 src=\" + \"https:\/\/www.rjmprogramming.com.au\/ITblog\/tag\/youtube\" + \"&gt;&lt;\/iframe&gt;\"; dv.style.display = \"block\";'>this<\/a> too.<\/p>\n<div id='d69552' style='display: none; border-left: 2px solid green; border-top: 2px solid green;'><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Today&#8217;s work is the result of a &#8220;generic push&#8221; by us to improve on attempts in the past to use our inhouse YouTube video playing interfacing suite of web applications to mix &#8230; YouTube video media content &#8230; interspersed with &hellip; <a href=\"https:\/\/www.rjmprogramming.com.au\/ITblog\/youtube-api-caller-other-media-interfacing-tutorial\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,12,14,37],"tags":[52,83,84,88,1885,113,181,1580,1654,341,2091,1549,557,3961,576,587,590,599,614,3695,652,760,2732,1616,802,2362,997,1168,1238,1581,1319,1345,1369,1493,2017],"class_list":["post-69552","post","type-post","status-publish","format-standard","hentry","category-animation","category-elearning","category-event-driven-programming","category-tutorials","tag-absolute-url","tag-animated-gif","tag-animation-2","tag-api","tag-argument","tag-audio","tag-call","tag-cell","tag-data-uri","tag-display","tag-duration","tag-element","tag-hashtag","tag-hashtagging","tag-html","tag-iframe","tag-image","tag-img","tag-integration","tag-interfacing","tag-javascript","tag-media","tag-mimetype","tag-modularization","tag-module","tag-play","tag-programming","tag-software-integration","tag-table","tag-table-cell","tag-tutorial","tag-url","tag-video","tag-youtube","tag-youtube-api"],"_links":{"self":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/69552"}],"collection":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/comments?post=69552"}],"version-history":[{"count":35,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/69552\/revisions"}],"predecessor-version":[{"id":69598,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/posts\/69552\/revisions\/69598"}],"wp:attachment":[{"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/media?parent=69552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/categories?post=69552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rjmprogramming.com.au\/ITblog\/wp-json\/wp\/v2\/tags?post=69552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}