aiqtech commited on
Commit
cc35a93
β€’
1 Parent(s): df7b8bc

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -3
app.py CHANGED
@@ -198,15 +198,25 @@ content_map = {
198
  "24X7 λͺ¨λ‹ˆν„°λ§": "https://seawolf2357-bnews3.hf.space"
199
  }
200
 
 
201
  if st.session_state.selected_item in content_map:
 
202
  main_content.markdown(
203
- f'<iframe src="{content_map[st.session_state.selected_item]}" width="100%" height="800" frameborder="0" allow="microphone"></iframe>',
 
 
 
 
 
 
 
 
204
  unsafe_allow_html=True
205
  )
206
  else:
207
  main_content.markdown("<h2>λ©”λ‰΄μ—μ„œ ν•­λͺ©μ„ μ„ νƒν•˜μ„Έμš”.</h2>")
208
 
209
- # Add JavaScript for dynamic iframe resizing and microphone permission
210
  st.markdown("""
211
  <script>
212
  function resizeIframe() {
@@ -215,6 +225,7 @@ function resizeIframe() {
215
  iframe.style.height = window.innerHeight + 'px';
216
  }
217
  }
 
218
  async function requestMicrophonePermission() {
219
  try {
220
  await navigator.mediaDevices.getUserMedia({ audio: true });
@@ -223,8 +234,27 @@ async function requestMicrophonePermission() {
223
  console.error("Error requesting microphone permission:", err);
224
  }
225
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  window.addEventListener('resize', resizeIframe);
227
  resizeIframe();
228
  requestMicrophonePermission();
 
 
 
 
 
229
  </script>
230
- """, unsafe_allow_html=True)
 
198
  "24X7 λͺ¨λ‹ˆν„°λ§": "https://seawolf2357-bnews3.hf.space"
199
  }
200
 
201
+
202
  if st.session_state.selected_item in content_map:
203
+ iframe_url = content_map[st.session_state.selected_item]
204
  main_content.markdown(
205
+ f'''
206
+ <iframe src="{iframe_url}"
207
+ width="100%"
208
+ height="800"
209
+ frameborder="0"
210
+ allow="microphone *; camera *; fullscreen *; accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
211
+ allowfullscreen>
212
+ </iframe>
213
+ ''',
214
  unsafe_allow_html=True
215
  )
216
  else:
217
  main_content.markdown("<h2>λ©”λ‰΄μ—μ„œ ν•­λͺ©μ„ μ„ νƒν•˜μ„Έμš”.</h2>")
218
 
219
+ # Add JavaScript for dynamic iframe resizing, microphone permission, and enhanced iframe communication
220
  st.markdown("""
221
  <script>
222
  function resizeIframe() {
 
225
  iframe.style.height = window.innerHeight + 'px';
226
  }
227
  }
228
+
229
  async function requestMicrophonePermission() {
230
  try {
231
  await navigator.mediaDevices.getUserMedia({ audio: true });
 
234
  console.error("Error requesting microphone permission:", err);
235
  }
236
  }
237
+
238
+ function postMessageToIframe(message) {
239
+ var iframe = document.querySelector('iframe');
240
+ if (iframe) {
241
+ iframe.contentWindow.postMessage(message, '*');
242
+ }
243
+ }
244
+
245
+ window.addEventListener('message', function(event) {
246
+ if (event.data === 'requestMicrophoneAccess') {
247
+ requestMicrophonePermission();
248
+ }
249
+ });
250
+
251
  window.addEventListener('resize', resizeIframe);
252
  resizeIframe();
253
  requestMicrophonePermission();
254
+
255
+ // Attempt to enable microphone access after a short delay
256
+ setTimeout(() => {
257
+ postMessageToIframe('enableMicrophone');
258
+ }, 2000);
259
  </script>
260
+ """, unsafe_allow_html=True)