Solved

"permission denied" with media player 9

Posted on 2003-11-10
8
716 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
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
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
 
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

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In Part 1 (http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/A_7849-Hex-Maze.html) we covered the hexagonal maze basics -- how the cells are represented in a JavaScript array and how the maze is displayed.  In this part, we'…
This article discusses the difference between strict equality operator and equality operator in JavaScript. The Need: Because JavaScript performs an implicit type conversion when performing comparisons, we have to take this into account when wri…
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…

830 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