Solved

"permission denied" with media player 9

Posted on 2003-11-10
8
712 Views
Last Modified: 2008-01-09
Hi,

I have this html page with a media player object:

<html>
<head>

<script>
<!--
function showPosition(num)
{            
    document.WinMedia.currentposition=document.WinMedia.getmarkertime(num);
    document.WinMedia.Play()
}
//-->
</script>
</head>

<body topmargin='0' leftmargin='0' bgcolor='#010066' onload="showPosition(1)">
<object id="WinMedia" width="224" height="176"
  codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715"
  classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
  standby="Loading Windows Media Player components..."
  type="application/x-oleobject">
  <param name="FileName" value="mms://192.168.1.1/video.asf">
  <param name="ShowStatusBar" value="true">
  <param name="EnableContextMenu" value="false">
  <param name="AutoSize" value="false">
  <param name="ShowControls" value="false">
  <param name="ShowDisplay" value="false">
  <param name="DefaultFrame" value="synch">
  <param name="autostart" value="false">
</object>
</body>
</html>

With Windows Media Player series 9, as soon as the "showPosition()" script is invoked, I get the error:

"Javascript run-time error: permission denied" (or authorization denied, couldn't figure out the precise english translation here). The statement that cause the problem is "document.WinMedia.getmarkertime(num)". Sseems that reading the marker time is enough to trigger the error.

Any help?
0
Comment
Question by:cip
8 Comments
 
LVL 16

Expert Comment

by:jaysolomon
ID: 9716175
Try this

function showPosition(num)
{          
    document.getElementById('WinMedia').currentposition=document.getElementById('WinMedia').getmarkertime(num);
    document.getElementById('WinMedia').Play()
}
0
 
LVL 1

Author Comment

by:cip
ID: 9716267
Jaysolomon,

Tried that, but unfortunately I still get the permission denied message.

0
 
LVL 2

Expert Comment

by:Mikehd
ID: 9718016
Maybe a shot in the dark, but is the html page and the media in the same domain?

M=
0
 
LVL 25

Expert Comment

by:devic
ID: 9719591
hey cip,

your link is dead:
   mms://192.168.1.1/video.asf

try some other:
   mms://media3.ag.org/gc2003/20030801_PMvideo.asf
0
How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

 
LVL 25

Accepted Solution

by:
devic earned 200 total points
ID: 9719596
sound is inside, you need wait...
0
 
LVL 1

Author Comment

by:cip
ID: 9721096
Mikehd,

I have downloaded and copied the lesson in the same folder of the html file, and changed the filename parameter to:

<param name="FileName" value="video.asf">

but I am still getting the error.

Devic, I changed the parameter file to point to your video, same thing. The link is dead because I don't want my video server address to be public. What do you mean by "sound is inside, you need wait"?
0
 
LVL 25

Expert Comment

by:devic
ID: 9721454
Mikehd,

i mean, that movie beginn without sound, and sound in this movie come later.



so i changed only  mms link and for me works fine:
===========================
<html>
<head>

<script>
<!--
function showPosition(num)
{          
   document.WinMedia.currentposition=document.WinMedia.getmarkertime(num);
   document.WinMedia.Play()
}
//-->
</script>
</head>

<body topmargin='0' leftmargin='0' bgcolor='#010066' onload="showPosition(1)">
<object id="WinMedia" width="224" height="176"
 codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715"
 classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"
 standby="Loading Windows Media Player components..."
 type="application/x-oleobject">
 <param name="FileName" value="mms://media3.ag.org/gc2003/20030801_PMvideo.asf">
 <param name="ShowStatusBar" value="true">
 <param name="EnableContextMenu" value="false">
 <param name="AutoSize" value="false">
 <param name="ShowControls" value="false">
 <param name="ShowDisplay" value="false">
 <param name="DefaultFrame" value="synch">
 <param name="autostart" value="false">
</object>
</body>
</html>
0
 
LVL 1

Author Comment

by:cip
ID: 9722061
I finally managed to solve the problem.

When the script executes the command WinMedia.getMarkerTime(num), the media player still hasn't completely loaded the file, and the total number of markers (property markerCount) is set to 0. So the attempt to read the position of marker number 1, when the total number of markers is still 0, triggers the error.

I changed the script this way:

var globalTries = 0;

function showPosition(num)
{            
  self.setTimeout("timeoutShowPosition("+num+")",200);
}

function timeoutShowPosition(num)
{
  if (WinMedia.MarkerCount == 0) // MarketCount still 0, file hasn't completely loaded yet
  {
    if (globalTries > 100 ) // timeout after 20 seconds
      alert("Timeout occurred trying to open the movie.");
    else
      self.setTimeout("timeoutShowPosition("+num+")",200);
            
    globalTries++; // increment tries
    return;
  }
      
  document.WinMedia.currentposition=document.WinMedia.getmarkertime(num);
  document.WinMedia.Play()
}

I didn't want to believe that today's media players could still have syncronizing problems, but that is it.

I'll give Devic's the points. His sentence "you need to wait" gave me the idea of waiting till the file was loaded, even if the real sentence meaning is different.
0

Featured Post

Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

Join & Write a Comment

This article will give core knowledge of JavaScript and will head in to your first JavaScript program. I am Durvesh Naik and I am here to deal with this series of JavaScript. I will teach you JavaScript in part wise , as its quite boring to read big…
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now