{"id":93,"date":"2020-03-05T02:45:35","date_gmt":"2020-03-04T19:45:35","guid":{"rendered":"http:\/\/www.onairhatyai.com\/?page_id=93"},"modified":"2026-07-31T01:43:55","modified_gmt":"2026-07-30T18:43:55","slug":"%e0%b8%9f%e0%b8%b1%e0%b8%87-%e0%b8%94%e0%b8%99%e0%b8%95%e0%b8%a3%e0%b8%b5%e0%b8%aa%e0%b8%b5%e0%b8%aa%e0%b8%b1%e0%b8%99-%e0%b9%84%e0%b8%94%e0%b9%89%e0%b8%97%e0%b8%b5%e0%b9%88%e0%b8%99%e0%b8%b5%e0%b9%88","status":"publish","type":"page","link":"https:\/\/onairhatyai.com\/","title":{"rendered":"\u0e14\u0e19\u0e15\u0e23\u0e35\u0e2a\u0e35\u0e2a\u0e31\u0e19 FM 89.5 \u0e40\u0e1e\u0e25\u0e07\u0e40\u0e1e\u0e23\u0e32\u0e30\u0e17\u0e31\u0e49\u0e07\u0e27\u0e31\u0e19 \u0e1f\u0e31\u0e07\u0e44\u0e14\u0e49\u0e17\u0e31\u0e49\u0e07\u0e04\u0e37\u0e19 | www.\u0e14\u0e19\u0e15\u0e23\u0e35\u0e2a\u0e35\u0e2a\u0e31\u0e19.com"},"content":{"rendered":"\n<h1 class=\"wp-block-heading has-text-align-center has-black-color has-text-color has-link-color wp-elements-9ed6ca1e209b9a00c9a50b2de0c19f24\">34 \u0e1b\u0e35 \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e27\u0e34\u0e17\u0e22\u0e38 &#8220;\u0e14\u0e19\u0e15\u0e23\u0e35\u0e2a\u0e35\u0e2a\u0e31\u0e19&#8221; \u0e17\u0e35\u0e48\u0e2d\u0e2d\u0e01\u0e2d\u0e32\u0e01\u0e32\u0e28\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e15\u0e25\u0e2d\u0e14 <br>\u0e15\u0e31\u0e49\u0e07\u0e41\u0e15\u0e48 \u0e1e.\u0e28.2535 \u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e19\u0e21\u0e32<\/h1>\n\n\n\t\t<div id=\"serious-slider-31-r961\" class=\"cryout-serious-slider seriousslider serious-slider-31-r961 serious-slider-31 seriousslider-overlay1 seriousslider-light seriousslider-shadow-none seriousslider-responsive-maintain seriousslider-hidetitles-1 seriousslider-slide seriousslider-sizing0 seriousslider-aligncenter seriousslider-caption-animation-slide seriousslider-textstyle-textshadow\" data-ride=\"seriousslider\">\r\n\t\t\t<div class=\"seriousslider-inner\" role=\"listbox\">\r\n\r\n\t\t\t\r\n\t\t\t<div class=\"item slide-1 active\" role=\"option\">\r\n\t\t\t\t\t\t\t\t<a  >\r\n\t\t\t\t\t<img decoding=\"async\" class=\"item-image\" src=\"https:\/\/onairhatyai.com\/wp-content\/uploads\/2023\/01\/324556272_617043116770568_6142634722006315917_n.png\" alt=\"\u0e14\u0e19\u0e15\u0e23\u0e35\u0e2a\u0e35\u0e2a\u0e31\u0e19 \u0e2b\u0e32\u0e14\u0e43\u0e2b\u0e0d\u0e48 \u0e2a\u0e07\u0e02\u0e25\u0e32\" >\r\n\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"seriousslider-caption\">\r\n\t\t\t\t\t<div class=\"seriousslider-caption-inside\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"seriousslider-caption-buttons\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<\/div><!--seriousslider-caption-inside-->\r\n\t\t\t\t<\/div><!--seriousslider-caption-->\r\n\t\t\t\t\t\t\t\t<div class=\"seriousslider-hloader\"><\/div>\r\n\t\t\t\t<figure class=\"seriousslider-cloader\">\r\n\t\t\t\t\t<svg width=\"200\" height=\"200\">\r\n\t\t\t\t\t\t<circle cx=\"95\" cy=\"95\" r=\"20\" transform=\"rotate(-90, 95, 95)\"\/>\r\n\t\t\t\t\t<\/svg>\r\n\t\t\t  <\/figure>\r\n\t\t\t<\/div>\r\n\r\n\t\t\t\t\t\t<\/div>\r\n\r\n\t\t\t<div class=\"seriousslider-indicators\">\r\n\t\t\t\t<ol class=\"seriousslider-indicators-inside\">\r\n\t\t\t\t\t\t\t\t\t\t<li data-target=\"#serious-slider-31-r961\" data-slide-to=\"0\" class=\"active\" role=\"button\"><\/li>\r\n\t\t\t\t\t\t\t\t\t<\/ol>\r\n\t\t\t<\/div>\r\n\r\n\t\t\t<button class=\"left seriousslider-control\" data-target=\"#serious-slider-31-r961\" role=\"button\" data-slide=\"prev\">\r\n\t\t\t  <span class=\"sicon-prev control-arrow\" aria-hidden=\"true\"><\/span>\r\n\t\t\t  <span class=\"sr-only\">Previous Slide<\/span>\r\n\t\t\t<\/button>\r\n\t\t\t<button class=\"right seriousslider-control\" data-target=\"#serious-slider-31-r961\" role=\"button\" data-slide=\"next\">\r\n\t\t\t  <span class=\"sicon-next control-arrow\" aria-hidden=\"true\"><\/span>\r\n\t\t\t  <span class=\"sr-only\">Next Slide<\/span>\r\n\t\t\t<\/button>\r\n\t\t<\/div>\r\n\t\t<!-- end cryout serious slider 31-r961 -->\r\n\t\t\n\n\n\n<!-- 1. JAVASCRIPT FORCE DESKTOP VIEWPORT (\u0e1a\u0e31\u0e07\u0e04\u0e31\u0e1a Viewport 1200px \u0e1a\u0e19\u0e2d\u0e38\u0e1b\u0e01\u0e23\u0e13\u0e4c\u0e40\u0e04\u0e25\u0e37\u0e48\u0e2d\u0e19\u0e17\u0e35\u0e48) -->\n<script>\n  (function() {\n    var viewport = document.querySelector(\"meta[name=viewport]\");\n    if (!viewport) {\n      viewport = document.createElement('meta');\n      viewport.name = \"viewport\";\n      document.getElementsByTagName('head')[0].appendChild(viewport);\n    }\n    viewport.setAttribute('content', 'width=1200, initial-scale=0.35, maximum-scale=3.0, user-scalable=yes');\n  })();\n<\/script>\n\n<div class=\"onair-outer-wrapper\">\n  <div class=\"onair-app-root\" id=\"onair-app-root\">\n    <style>\n      \/* -------------------------------------------------------------\n         2. FORCE DESKTOP SITE OVERRIDE & CENTER ALIGNMENT\n      ------------------------------------------------------------- *\/\n      html, body {\n        min-width: 1200px !important;\n        overflow-x: auto !important;\n      }\n\n      \/* Wrapper \u0e19\u0e2d\u0e01\u0e2a\u0e38\u0e14\u0e17\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e17\u0e35\u0e48\u0e14\u0e36\u0e07\u0e41\u0e2d\u0e1b\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14\u0e21\u0e32\u0e08\u0e31\u0e14\u0e01\u0e36\u0e48\u0e07\u0e01\u0e25\u0e32\u0e07\u0e2b\u0e19\u0e49\u0e32\u0e08\u0e2d\u0e41\u0e1a\u0e1a\u0e2a\u0e21\u0e14\u0e38\u0e25 *\/\n      .onair-outer-wrapper {\n        width: 100% !important;\n        display: flex !important;\n        justify-content: center !important;\n        align-items: center !important;\n        padding: 20px 0 !important;\n        box-sizing: border-box !important;\n      }\n\n      \/* -------------------------------------------------------------\n         3. CORE SYSTEM & THEME VARIABLES (CENTERED DESKTOP BENTO GRID)\n      ------------------------------------------------------------- *\/\n      .onair-app-root {\n        --cyan: #00f2fe;\n        --magenta: #ff007f;\n        --green: #00ff87;\n        --yellow: #ffb703;\n        --red: #ef4444;\n        --bg-dark: #060911;\n        --card-bg: rgba(15, 22, 38, 0.85);\n        --card-border: rgba(255, 255, 255, 0.08);\n\n        width: 1200px !important; \/* \u0e25\u0e47\u0e2d\u0e01\u0e04\u0e27\u0e32\u0e21\u0e01\u0e27\u0e49\u0e32\u0e07\u0e04\u0e07\u0e17\u0e35\u0e48 1200px *\/\n        max-width: 1200px !important;\n        min-width: 1200px !important;\n        margin: 0 auto !important; \/* \u0e2a\u0e31\u0e48\u0e07\u0e08\u0e31\u0e14\u0e01\u0e36\u0e48\u0e07\u0e01\u0e25\u0e32\u0e07\u0e41\u0e19\u0e27\u0e19\u0e2d\u0e19 100% *\/\n        padding: 24px;\n        box-sizing: border-box;\n        font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif;\n        background: radial-gradient(circle at 10% 10%, #170727 0%, var(--bg-dark) 80%);\n        color: #f8fafc;\n        border-radius: 24px;\n        box-shadow: 0 25px 60px rgba(0, 0, 0, 0.8);\n        \n        user-select: none !important;\n        -webkit-user-select: none !important;\n        -webkit-user-drag: none !important;\n      }\n\n      .onair-nav {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        padding-bottom: 16px;\n        margin-bottom: 20px;\n        border-bottom: 1px solid rgba(255, 255, 255, 0.08);\n      }\n\n      .onair-logo {\n        font-size: 1.35rem;\n        font-weight: 800;\n        background: linear-gradient(135deg, var(--cyan), var(--magenta));\n        -webkit-background-clip: text;\n        -webkit-text-fill-color: transparent;\n        letter-spacing: 0.5px;\n      }\n\n      \/* Top Telemetry Badge *\/\n      .telemetry-badge {\n        display: inline-flex;\n        align-items: center;\n        gap: 8px;\n        background: rgba(0, 0, 0, 0.6);\n        padding: 6px 14px;\n        border-radius: 30px;\n        border: 1px solid rgba(255, 255, 255, 0.12);\n        font-size: 0.78rem;\n        font-weight: 700;\n        letter-spacing: 0.5px;\n      }\n\n      .status-dot {\n        width: 8px;\n        height: 8px;\n        border-radius: 50%;\n        background-color: #64748b;\n        transition: all 0.3s ease;\n        flex-shrink: 0;\n      }\n\n      .status-dot.connected { background-color: var(--green); box-shadow: 0 0 12px var(--green); }\n      .status-dot.buffering { background-color: var(--yellow); box-shadow: 0 0 10px var(--yellow); animation: pulse-blink 0.8s infinite alternate; }\n      .status-dot.disconnected { background-color: var(--red); box-shadow: 0 0 10px var(--red); }\n\n      @keyframes pulse-blink { 0% { opacity: 0.2; } 100% { opacity: 1; } }\n\n      \/* Bento 2x2 Desktop Grid Layout *\/\n      .onair-bento-grid {\n        display: grid;\n        grid-template-columns: repeat(2, 1fr) !important;\n        gap: 22px;\n        width: 100%;\n      }\n\n      .bento-card {\n        background: var(--card-bg);\n        backdrop-filter: blur(16px);\n        -webkit-backdrop-filter: blur(16px);\n        border: 1px solid var(--card-border);\n        border-radius: 20px;\n        padding: 20px;\n        display: flex;\n        flex-direction: column;\n        box-sizing: border-box;\n        min-width: 0;\n        box-shadow: 0 10px 30px rgba(0,0,0,0.35);\n        transition: border-color 0.3s ease;\n        overflow: hidden;\n      }\n\n      .bento-card:hover {\n        border-color: rgba(0, 242, 254, 0.35);\n      }\n\n      .card-title {\n        font-size: 1.05rem;\n        font-weight: 700;\n        margin-bottom: 16px;\n        color: #fff;\n        display: flex;\n        align-items: center;\n        justify-content: space-between;\n        gap: 8px;\n      }\n\n      .text-glow {\n        background: linear-gradient(90deg, var(--cyan), var(--magenta));\n        -webkit-background-clip: text;\n        -webkit-text-fill-color: transparent;\n      }\n\n      .open-link-btn {\n        font-size: 0.78rem;\n        color: #94a3b8;\n        text-decoration: none;\n        padding: 5px 12px;\n        border-radius: 20px;\n        background: rgba(255, 255, 255, 0.06);\n        border: 1px solid rgba(255, 255, 255, 0.12);\n        transition: all 0.2s ease;\n        white-space: nowrap;\n      }\n\n      .open-link-btn:hover {\n        color: #fff;\n        background: rgba(0, 242, 254, 0.2);\n        border-color: var(--cyan);\n      }\n\n      .frame-container {\n        position: relative;\n        width: 100%;\n        height: 520px;\n        border-radius: 14px;\n        overflow: hidden;\n        background: #000;\n        border: 1px solid rgba(255, 255, 255, 0.1);\n      }\n\n      .frame-container iframe {\n        width: 100% !important;\n        height: 100% !important;\n        border: none !important;\n      }\n\n      \/* -------------------------------------------------------------\n         4. COLUMN 2: HIGH-TECH CYBER CONSOLE STYLING\n      ------------------------------------------------------------- *\/\n      .station-list {\n        display: flex;\n        flex-direction: column;\n        gap: 10px;\n        margin-bottom: 16px;\n      }\n\n      .station-item-btn {\n        background: rgba(255, 255, 255, 0.03);\n        color: #cbd5e1;\n        border: 1px solid rgba(255, 255, 255, 0.08);\n        padding: 12px 16px;\n        border-radius: 12px;\n        font-size: 0.92rem;\n        font-weight: 500;\n        cursor: pointer;\n        transition: all 0.25s ease;\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        width: 100%;\n        box-sizing: border-box;\n      }\n\n      .station-item-btn:hover {\n        background: rgba(0, 242, 254, 0.12);\n        border-color: var(--cyan);\n        color: #fff;\n      }\n\n      .station-item-btn.active {\n        background: linear-gradient(135deg, #00c6ff 0%, #0072ff 100%);\n        border-color: transparent;\n        color: #fff;\n        font-weight: 600;\n        box-shadow: 0 4px 18px rgba(0, 198, 255, 0.4);\n      }\n\n      .freq-badge {\n        font-size: 0.72rem;\n        padding: 3px 8px;\n        border-radius: 10px;\n        background: rgba(0, 0, 0, 0.35);\n        border: 1px solid rgba(255, 255, 255, 0.15);\n        color: #a5f3fc;\n        white-space: nowrap;\n      }\n\n      \/* Console Container Box *\/\n      .audio-console-panel {\n        margin-top: auto;\n        background: rgba(8, 12, 20, 0.95);\n        padding: 18px;\n        border-radius: 18px;\n        border: 1px solid rgba(0, 242, 254, 0.25);\n        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);\n      }\n\n      .meta-display-row {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        margin-bottom: 16px;\n      }\n\n      .meta-text-box {\n        display: flex;\n        flex-direction: column;\n      }\n\n      .telemetry-status-text {\n        font-size: 0.72rem;\n        font-weight: 800;\n        letter-spacing: 0.8px;\n        text-transform: uppercase;\n        transition: color 0.3s ease;\n      }\n\n      .telemetry-status-text.connected { color: var(--green); }\n      .telemetry-status-text.buffering { color: var(--yellow); }\n      .telemetry-status-text.disconnected { color: var(--red); }\n\n      .audio-title-active {\n        font-size: 1rem;\n        font-weight: 700;\n        color: #fff;\n        margin-top: 2px;\n      }\n\n      \/* Sound Equalizer Wave *\/\n      .eq-wave-box {\n        display: flex;\n        align-items: flex-end;\n        gap: 3px;\n        height: 16px;\n      }\n\n      .eq-wave-box span {\n        width: 3px;\n        height: 3px;\n        background: var(--cyan);\n        border-radius: 3px;\n        transition: height 0.2s ease;\n      }\n\n      .is-playing .eq-wave-box span:nth-child(1) { animation: wave-anim 0.6s infinite alternate ease-in-out; }\n      .is-playing .eq-wave-box span:nth-child(2) { animation: wave-anim 0.8s infinite alternate ease-in-out 0.2s; }\n      .is-playing .eq-wave-box span:nth-child(3) { animation: wave-anim 0.5s infinite alternate ease-in-out 0.4s; }\n      .is-playing .eq-wave-box span:nth-child(4) { animation: wave-anim 0.7s infinite alternate ease-in-out 0.1s; }\n\n      @keyframes wave-anim { 0% { height: 3px; } 100% { height: 16px; } }\n\n      \/* Play \/ Stop Action Row *\/\n      .action-controls-row {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        gap: 20px;\n        margin-bottom: 18px;\n      }\n\n      .circular-btn {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        border: none;\n        cursor: pointer;\n        transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n        outline: none;\n      }\n\n      .circular-btn svg { fill: currentColor; }\n\n      .play-btn-circle {\n        width: 56px;\n        height: 56px;\n        border-radius: 50%;\n        background: linear-gradient(135deg, #00f2fe 0%, #0072ff 100%);\n        color: #fff;\n        box-shadow: 0 4px 20px rgba(0, 242, 254, 0.4);\n      }\n\n      .play-btn-circle:hover {\n        transform: scale(1.08);\n        box-shadow: 0 0 25px rgba(0, 242, 254, 0.7);\n      }\n\n      .stop-btn-circle {\n        width: 46px;\n        height: 46px;\n        border-radius: 50%;\n        background: rgba(239, 68, 68, 0.15);\n        color: #ef4444;\n        border: 1px solid rgba(239, 68, 68, 0.3);\n      }\n\n      .stop-btn-circle:hover {\n        background: rgba(239, 68, 68, 0.3);\n        color: #fff;\n        border-color: #ef4444;\n        transform: scale(1.08);\n      }\n\n      \/* Master Volume Controls *\/\n      .vol-control-wrapper {\n        display: flex;\n        align-items: center;\n        gap: 8px;\n        background: rgba(255, 255, 255, 0.04);\n        padding: 8px 12px;\n        border-radius: 14px;\n        border: 1px solid rgba(255, 255, 255, 0.08);\n        width: 100%;\n        box-sizing: border-box;\n      }\n\n      .vol-step-btn {\n        background: rgba(255, 255, 255, 0.06);\n        border: 1px solid rgba(255, 255, 255, 0.1);\n        color: var(--cyan);\n        width: 28px;\n        height: 28px;\n        border-radius: 8px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        font-size: 0.95rem;\n        font-weight: 700;\n        cursor: pointer;\n        transition: all 0.2s ease;\n        flex-shrink: 0;\n      }\n\n      .vol-step-btn:hover {\n        background: rgba(0, 242, 254, 0.25);\n        color: #fff;\n        border-color: var(--cyan);\n      }\n\n      .vol-icon-toggle {\n        font-size: 1rem;\n        cursor: pointer;\n        padding: 0 4px;\n        flex-shrink: 0;\n      }\n\n      .vol-range-input {\n        flex: 1;\n        -webkit-appearance: none;\n        appearance: none;\n        height: 5px;\n        border-radius: 5px;\n        background: rgba(255, 255, 255, 0.2);\n        outline: none;\n        cursor: pointer;\n      }\n\n      .vol-range-input::-webkit-slider-thumb {\n        -webkit-appearance: none;\n        appearance: none;\n        width: 14px;\n        height: 14px;\n        border-radius: 50%;\n        background: var(--cyan);\n        cursor: pointer;\n        box-shadow: 0 0 8px var(--cyan);\n      }\n\n      .vol-percentage {\n        font-size: 0.75rem;\n        color: #94a3b8;\n        min-width: 32px;\n        text-align: right;\n        flex-shrink: 0;\n      }\n    <\/style>\n\n    <!-- Navigation Header Bar -->\n    <div class=\"onair-nav\">\n      <div class=\"onair-logo\">\ud83d\udcfb OnairPLUS Media Network<\/div>\n      <div class=\"telemetry-badge\">\n        <div id=\"status-dot\" class=\"status-dot disconnected\"><\/div>\n        <span id=\"status-text-top\" style=\"color: #e2e8f0;\">DISCONNECTED<\/span>\n      <\/div>\n    <\/div>\n\n    <!-- Bento Grid 2x2 Desktop Layout -->\n    <div class=\"onair-bento-grid\">\n      \n      <!-- CARD 1: Web Player -->\n      <div class=\"bento-card\">\n        <div class=\"card-title\">\n          <span>\ud83d\udcfb <span class=\"text-glow\">\u0e1f\u0e31\u0e07\u0e2a\u0e14\u0e27\u0e34\u0e17\u0e22\u0e38\u0e2d\u0e2d\u0e19\u0e44\u0e25\u0e19\u0e4c<\/span> \u0e15\u0e25\u0e2d\u0e14 24 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07<\/span>\n        <\/div>\n        <div class=\"frame-container\">\n          <iframe src=\"https:\/\/radio.onair.one\/hatyai.php\" title=\"Live Radio Player\" allow=\"autoplay\"><\/iframe>\n        <\/div>\n      <\/div>\n\n      <!-- CARD 2: Pro Cyber Console -->\n      <div class=\"bento-card\">\n        <div class=\"card-title\">\n          <span>\ud83c\udf99\ufe0f <span class=\"text-glow\">\u0e1f\u0e31\u0e07\u0e2a\u0e14\u0e27\u0e34\u0e17\u0e22\u0e38\u0e2d\u0e2d\u0e19\u0e44\u0e25\u0e19\u0e4c<\/span> \u0e08\u0e32\u0e01 \u0e2a\u0e27\u0e17.\u0e2a\u0e07\u0e02\u0e25\u0e32<\/span>\n        <\/div>\n\n        <!-- Station List Options -->\n        <div class=\"station-list\">\n          <button class=\"station-item-btn active\" data-src=\"https:\/\/media.onair.one:8170\/radio.mp3\">\n            <span>\u0e14\u0e19\u0e15\u0e23\u0e35\u0e2a\u0e35\u0e2a\u0e31\u0e19 FM<\/span> <span class=\"freq-badge\">Hat Yai HQ<\/span>\n          <\/button>\n          <button class=\"station-item-btn\" data-src=\"https:\/\/media.onair.one:8170\/am2\">\n            <span>\u0e14\u0e19\u0e15\u0e23\u0e35\u0e2a\u0e35\u0e2a\u0e31\u0e19 AM<\/span> <span class=\"freq-badge\">AM Stereo<\/span>\n          <\/button>\n          <button class=\"station-item-btn\" data-src=\"https:\/\/media.onair.one:8170\/my\">\n            <span>PASSION FM<\/span> <span class=\"freq-badge\">Lossless<\/span>\n          <\/button>\n          <button class=\"station-item-btn\" data-src=\"https:\/\/radio-org-01-ott.prd.go.th\/ska_fm89_50\">\n            <span>\u0e2a\u0e27\u0e17.\u0e2a\u0e07\u0e02\u0e25\u0e32 FM 89.5<\/span> <span class=\"freq-badge\">FM 89.5 MHz<\/span>\n          <\/button>\n          <button class=\"station-item-btn\" data-src=\"https:\/\/radio-org-01-ott.prd.go.th\/ska_fm90_5\">\n            <span>\u0e2a\u0e27\u0e17.\u0e2a\u0e07\u0e02\u0e25\u0e32 FM 90.5<\/span> <span class=\"freq-badge\">FM 90.5 MHz<\/span>\n          <\/button>\n        <\/div>\n\n        <!-- SINGLE MASTER DOM AUDIO ENGINE -->\n        <audio id=\"onair-singleton-audio\" preload=\"none\" style=\"display:none;\"><\/audio>\n\n        <!-- Custom Console Panel -->\n        <div id=\"audio-console-panel\" class=\"audio-console-panel\">\n          <div class=\"meta-display-row\">\n            <div class=\"meta-text-box\">\n              <span id=\"telemetry-status-text\" class=\"telemetry-status-text disconnected\">\u25cf DISCONNECTED<\/span>\n              <span id=\"active-station-title\" class=\"audio-title-active\">\u0e14\u0e19\u0e15\u0e23\u0e35\u0e2a\u0e35\u0e2a\u0e31\u0e19 FM<\/span>\n            <\/div>\n            <div class=\"eq-wave-box\">\n              <span><\/span><span><\/span><span><\/span><span><\/span>\n            <\/div>\n          <\/div>\n\n          <!-- Play & Stop Controls -->\n          <div class=\"action-controls-row\">\n            <button id=\"btn-stream-play\" class=\"circular-btn play-btn-circle\" title=\"\u0e40\u0e25\u0e48\u0e19\u0e2a\u0e14 (Play)\" aria-label=\"Play\">\n              <svg width=\"22\" height=\"22\" viewBox=\"0 0 24 24\"><path d=\"M8 5v14l11-7z\"\/><\/svg>\n            <\/button>\n            <button id=\"btn-stream-stop\" class=\"circular-btn stop-btn-circle\" title=\"\u0e2b\u0e22\u0e38\u0e14\u0e2a\u0e15\u0e23\u0e35\u0e21 (Stop)\" aria-label=\"Stop\">\n              <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\"><path d=\"M6 6h12v12H6z\"\/><\/svg>\n            <\/button>\n          <\/div>\n\n          <!-- Master Volume Controls -->\n          <div class=\"vol-control-wrapper\">\n            <span id=\"vol-mute-toggle\" class=\"vol-icon-toggle\" title=\"\u0e1b\u0e34\u0e14\/\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e2a\u0e35\u0e22\u0e07 (Mute)\">\ud83d\udd0a<\/span>\n            <button id=\"btn-vol-down\" class=\"vol-step-btn\" title=\"\u0e25\u0e14\u0e40\u0e2a\u0e35\u0e22\u0e07 (\u2212)\">\u2212<\/button>\n            <input type=\"range\" id=\"vol-range-bar\" class=\"vol-range-input\" min=\"0\" max=\"100\" value=\"80\">\n            <button id=\"btn-vol-up\" class=\"vol-step-btn\" title=\"\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e2a\u0e35\u0e22\u0e07 (+)\">+<\/button>\n            <span id=\"vol-text-display\" class=\"vol-percentage\">80%<\/span>\n          <\/div>\n        <\/div>\n      <\/div>\n\n      <!-- CARD 3: Facebook Feed 1 -->\n      <div class=\"bento-card\">\n        <div class=\"card-title\">\n          <span>\ud83d\udcf1 <span class=\"text-glow\">\u0e14\u0e19\u0e15\u0e23\u0e35\u0e2a\u0e35\u0e2a\u0e31\u0e19<\/span> \u0e2b\u0e32\u0e14\u0e43\u0e2b\u0e0d\u0e48<\/span>\n          <a href=\"https:\/\/www.facebook.com\/dontreeseasonhatyai\" target=\"_blank\" class=\"open-link-btn\" rel=\"noopener\">\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e1e\u0e08 \u2197<\/a>\n        <\/div>\n        <div class=\"frame-container\" style=\"background:#18191a;\">\n          <iframe \n            src=\"https:\/\/www.facebook.com\/plugins\/page.php?href=https%3A%2F%2Fwww.facebook.com%2Fdontreeseasonhatyai&#038;tabs=timeline&#038;width=500&#038;height=520&#038;small_header=false&#038;adapt_container_width=true&#038;hide_cover=false&#038;show_facepile=false\" \n            scrolling=\"yes\" \n            frameborder=\"0\" \n            allowfullscreen=\"true\" \n            allow=\"autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share\">\n          <\/iframe>\n        <\/div>\n      <\/div>\n\n      <!-- CARD 4: Facebook Feed 2 -->\n      <div class=\"bento-card\">\n        <div class=\"card-title\">\n          <span>\u26a1 <span class=\"text-glow\" style=\"background: linear-gradient(90deg, var(--magenta), var(--yellow)); -webkit-background-clip: text; -webkit-text-fill-color: transparent;\">OnairPLUS<\/span> News<\/span>\n          <a href=\"https:\/\/www.facebook.com\/onairplus.onair.one\" target=\"_blank\" class=\"open-link-btn\" rel=\"noopener\">\u0e40\u0e1b\u0e34\u0e14\u0e40\u0e1e\u0e08 \u2197<\/a>\n        <\/div>\n        <div class=\"frame-container\" style=\"background:#18191a;\">\n          <iframe \n            src=\"https:\/\/www.facebook.com\/plugins\/page.php?href=https%3A%2F%2Fwww.facebook.com%2Fonairplus.onair.one&#038;tabs=timeline&#038;width=500&#038;height=520&#038;small_header=false&#038;adapt_container_width=true&#038;hide_cover=false&#038;show_facepile=false\" \n            scrolling=\"yes\" \n            frameborder=\"0\" \n            allowfullscreen=\"true\" \n            allow=\"autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share\">\n          <\/iframe>\n        <\/div>\n      <\/div>\n\n    <\/div>\n\n    <!-- -------------------------------------------------------------\n         5. SINGLETON AUDIO ENGINE & REAL-TIME TELEMETRY JS\n    ------------------------------------------------------------- -->\n    <script>\n      document.addEventListener('DOMContentLoaded', function() {\n        const audio = document.getElementById('onair-singleton-audio');\n        \n        const stationBtns = document.querySelectorAll('.station-item-btn');\n        const activeTitle = document.getElementById('active-station-title');\n        \n        const statusDot = document.getElementById('status-dot');\n        const statusTextTop = document.getElementById('status-text-top');\n        const telemetryStatusText = document.getElementById('telemetry-status-text');\n        const consolePanel = document.getElementById('audio-console-panel');\n\n        const btnPlay = document.getElementById('btn-stream-play');\n        const btnStop = document.getElementById('btn-stream-stop');\n        \n        const volRange = document.getElementById('vol-range-bar');\n        const volText = document.getElementById('vol-text-display');\n        const volMuteToggle = document.getElementById('vol-mute-toggle');\n        const btnVolDown = document.getElementById('btn-vol-down');\n        const btnVolUp = document.getElementById('btn-vol-up');\n\n        let activeUrl = 'https:\/\/media.onair.one:8170\/radio.mp3';\n        let storedVolume = 0.8;\n\n        function updateTelemetry(state) {\n          statusDot.className = 'status-dot ' + state;\n          telemetryStatusText.className = 'telemetry-status-text ' + state;\n\n          if (state === 'connected') {\n            statusTextTop.textContent = 'CONNECTED';\n            telemetryStatusText.textContent = '\u25cf CONNECTED (LIVE)';\n            consolePanel.classList.add('is-playing');\n          } else if (state === 'buffering') {\n            statusTextTop.textContent = 'BUFFERING...';\n            telemetryStatusText.textContent = '\u25cf BUFFERING...';\n            consolePanel.classList.remove('is-playing');\n          } else {\n            statusTextTop.textContent = 'DISCONNECTED';\n            telemetryStatusText.textContent = '\u25cf DISCONNECTED';\n            consolePanel.classList.remove('is-playing');\n          }\n        }\n\n        function purgeAudioEngine() {\n          if (audio) {\n            audio.pause();\n            audio.currentTime = 0;\n            audio.removeAttribute('src');\n            audio.load();\n          }\n          updateTelemetry('disconnected');\n        }\n\n        function executeStream(url) {\n          if (!url) return;\n          \n          purgeAudioEngine();\n\n          setTimeout(function() {\n            audio.src = url;\n            audio.load();\n            updateTelemetry('buffering');\n\n            audio.play().then(function() {\n              updateTelemetry('connected');\n            }).catch(function(err) {\n              console.log('Playback Blocked \/ Interrupted:', err);\n              updateTelemetry('disconnected');\n            });\n          }, 100);\n        }\n\n        audio.addEventListener('waiting', function() { updateTelemetry('buffering'); });\n        audio.addEventListener('playing', function() { updateTelemetry('connected'); });\n        audio.addEventListener('pause', function() { if (!audio.src) updateTelemetry('disconnected'); });\n        audio.addEventListener('error', function() { updateTelemetry('disconnected'); });\n\n        stationBtns.forEach(function(btn) {\n          btn.addEventListener('click', function() {\n            stationBtns.forEach(function(b) { b.classList.remove('active'); });\n            this.classList.add('active');\n\n            activeUrl = this.getAttribute('data-src');\n            const name = this.querySelector('span:first-child').textContent.trim();\n            activeTitle.textContent = name;\n\n            executeStream(activeUrl);\n          });\n        });\n\n        btnPlay.addEventListener('click', function() {\n          executeStream(activeUrl);\n        });\n\n        btnStop.addEventListener('click', function() {\n          purgeAudioEngine();\n        });\n\n        function setVolumeLevel(volValue) {\n          let clampedVal = Math.max(0, Math.min(100, volValue));\n          audio.volume = clampedVal \/ 100;\n          volRange.value = clampedVal;\n          volText.textContent = clampedVal + '%';\n\n          if (clampedVal === 0) {\n            volMuteToggle.textContent = '\ud83d\udd07';\n          } else if (clampedVal < 50) {\n            volMuteToggle.textContent = '\ud83d\udd09';\n          } else {\n            volMuteToggle.textContent = '\ud83d\udd0a';\n          }\n        }\n\n        audio.volume = 0.8;\n        volRange.addEventListener('input', function() {\n          setVolumeLevel(parseInt(this.value));\n        });\n\n        btnVolDown.addEventListener('click', function() {\n          let currentVal = parseInt(volRange.value);\n          setVolumeLevel(currentVal - 10);\n        });\n\n        btnVolUp.addEventListener('click', function() {\n          let currentVal = parseInt(volRange.value);\n          setVolumeLevel(currentVal + 10);\n        });\n\n        volMuteToggle.addEventListener('click', function() {\n          if (audio.volume > 0) {\n            storedVolume = audio.volume;\n            setVolumeLevel(0);\n          } else {\n            let restoreVal = Math.round((storedVolume || 0.8) * 100);\n            setVolumeLevel(restoreVal);\n          }\n        });\n\n        \/\/ Disable Right-Click\n        const appRoot = document.getElementById('onair-app-root');\n        if (appRoot) {\n          appRoot.addEventListener('contextmenu', function(e) {\n            e.preventDefault();\n            return false;\n          });\n        }\n      });\n    <\/script>\n  <\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">\u0e04\u0e25\u0e34\u0e01\u0e1f\u0e31\u0e07\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e27\u0e34\u0e17\u0e22\u0e38\u0e41\u0e25\u0e30\u0e0a\u0e48\u0e2d\u0e07\u0e40\u0e1e\u0e25\u0e07\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e15\u0e48\u0e2d\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e15\u0e25\u0e2d\u0e14 24 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07\u0e08\u0e32\u0e01 onairPLUS \u0e44\u0e14\u0e49\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48<\/h2>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<center><a href=\"https:\/\/lin.ee\/mkzBoK4\"><img decoding=\"async\" src=\"https:\/\/www.onairhatyai.com\/wp-content\/uploads\/2024\/08\/thLINE.png\" alt=\"\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e19\u0e1a\u0e19\u0e44\u0e25\u0e19\u0e4c\u0e44\u0e14\u0e49\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48\" height=\"36\" border=\"0\"><\/a>\n<\/center>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">Line OA @onairFM<\/h2>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<center><a href=\"https:\/\/onair.one\/appand\"><img decoding=\"async\" src=\"https:\/\/www.onairhatyai.com\/wp-content\/uploads\/2024\/08\/25bf6eb6adcdcf482ac91fae62b0229e_L_0.jpg\" alt=\"\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e19\u0e1a\u0e19\u0e44\u0e25\u0e19\u0e4c \u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48\" height=\"30\" border=\"0\"><\/a>\n<\/center>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">App onairPLUS iOS<\/h2>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<center><a href=\"https:\/\/onair.one\/appand\"><img decoding=\"async\" src=\"https:\/\/www.onairhatyai.com\/wp-content\/uploads\/2024\/08\/linerichmenu-2022-05-23T145322.768.jpg\" alt=\"\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e1e\u0e37\u0e48\u0e2d\u0e19\u0e1a\u0e19\u0e44\u0e25\u0e19\u0e4c \u0e04\u0e25\u0e34\u0e01\u0e17\u0e35\u0e48\u0e19\u0e35\u0e48\" height=\"30\" border=\"0\"><\/a>\n<\/center>\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center\">App onairPLUS android OS<\/h2>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/onair.one\/fm-89-5-mhz-\u0e2a\u0e27\u0e17-\u0e2a\u0e07\u0e02\u0e25\u0e32\/\">\u0e2a\u0e16\u0e32\u0e19\u0e35\u0e27\u0e34\u0e17\u0e22\u0e38\u0e01\u0e23\u0e30\u0e08\u0e32\u0e22\u0e40\u0e2a\u0e35\u0e22\u0e07\u0e41\u0e2b\u0e48\u0e07\u0e1b\u0e23\u0e30\u0e40\u0e17\u0e28\u0e44\u0e17\u0e22\u0e08\u0e31\u0e07\u0e2b\u0e27\u0e31\u0e14\u0e2a\u0e07\u0e02\u0e25\u0e32 FM 89.50 MHz<\/a><\/h2>\n\n\n\n<h2 class=\"wp-block-heading\">| <a href=\"https:\/\/onair.one\/fm-89-5-mhz-%E0%B8%AA%E0%B8%A7%E0%B8%97-%E0%B8%AA%E0%B8%87%E0%B8%82%E0%B8%A5%E0%B8%B2\/\">FM 89.5 MHz<\/a> | <a href=\"https:\/\/onair.one\/fm-89-5-mhz-%E0%B8%AA%E0%B8%A7%E0%B8%97-%E0%B8%AA%E0%B8%87%E0%B8%82%E0%B8%A5%E0%B8%B2\/\">FM 90.5 MHz<\/a> | HD Radio DIGITAL SOUND<\/h2>\n\n\n\n<h2 class=\"wp-block-heading has-white-color has-vivid-red-background-color has-text-color has-background has-link-color wp-elements-275f97f960606db86f468920550762a4\">For Listening Radio Online Portal in Thailand Only, <strong>Unofficial Website<\/strong>.<br>More info please call. (+66) 062 629 7789<\/h2>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<script language=\"javascript\"> document.onselectstart=new Function('return false'); function ds(e){return false;} function ra(){return true;} document.onmousedown=ds; document.onclick=ra; document.oncontextmenu = function (){ return false}; <\/script><br> <br> <script language=\"JavaScript\"> if (top.location != self.location) {top.location = self.location} <\/script>\n","protected":false},"excerpt":{"rendered":"<p>34 \u0e1b\u0e35 \u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e27\u0e34\u0e17\u0e22\u0e38 &#8220;\u0e14\u0e19\u0e15\u0e23\u0e35\u0e2a\u0e35\u0e2a\u0e31\u0e19&#8221; \u0e17\u0e35\u0e48\u0e2d\u0e2d\u0e01\u0e2d [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-93","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/onairhatyai.com\/index.php?rest_route=\/wp\/v2\/pages\/93","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/onairhatyai.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/onairhatyai.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/onairhatyai.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/onairhatyai.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=93"}],"version-history":[{"count":815,"href":"https:\/\/onairhatyai.com\/index.php?rest_route=\/wp\/v2\/pages\/93\/revisions"}],"predecessor-version":[{"id":3206,"href":"https:\/\/onairhatyai.com\/index.php?rest_route=\/wp\/v2\/pages\/93\/revisions\/3206"}],"wp:attachment":[{"href":"https:\/\/onairhatyai.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=93"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}