Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Musicplayer soll nich sofort starten“

smallgrapher

Noch nicht viel geschrieben

Mahlzeit zusammen,

habe mir mit Hilfe eines Tutorials einen musicplayer gebastelt. Alle fertigen im Netz, entsprachen nicht meinen Anforderungen.

Jetzt ist das Problem, das der Sound automatisch startet sobald der film geladen wird. Ich möchte aber, dass man den Sound mit Play startet.

Hier mein AS:
Code:
// Setup sound object
var s:Sound = new Sound();
s.onSoundComplete = playSong;
s.setVolume(75);
// Array of songs
var sa:Array = new Array();
// Currently playing song
var cps:Number = -1;
// Position of music
var pos:Number;
// Load the songs XML
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function()
{
 var nodes:Array = this.firstChild.childNodes;
 for(var i=0;i<nodes.length;i++)
 {
  sa.push(new Song(nodes[i].attributes.url, nodes[i].attributes.artist, nodes[i].attributes.track));
 }
 playSong();
}
xml.load("playlist.xml");
// Play the MP3 File
function playSong():Void
{
 s = new Sound();
 s.onSoundComplete = playSong;
 s.setVolume(75);
 mute.gotoAndStop("on");
 if(cps == sa.length - 1)
 {
  cps = 0;
  s.loadSound(sa[cps].earl, true);
 }
 else
 {
  s.loadSound(sa[++cps].earl, true);
 }
 trackInfo.text = sa[cps].artist + " - " + sa[cps].track;
 playPause.gotoAndStop("pause");
 textPos = 0;
}
// Pauses the music
function pauseIt():Void
{
 pos = s.position;
 s.stop();
}
// Pauses the music
function unPauseIt():Void
{
 s.start(pos/1000);
}
// Music Controls
// Play/Pause Toggle
playPause.onRollOver = function()
{
 if(this._currentframe == 1) this.gotoAndStop("pauseOver");
 else this.gotoAndStop("playOver");
}
playPause.onRollOut = playPause.onReleaseOutside = function()
{
 if(this._currentframe == 10) this.gotoAndStop("pause");
 else this.gotoAndStop("play");
}
playPause.onRelease = function()
{
 if(this._currentframe == 10)
 {
  this.gotoAndStop("playOver");
  this._parent.pauseIt();
 }
 else
 {
  this.gotoAndStop("pauseOver");
  this._parent.unPauseIt();
 }
}
// Next Button
next.onRollOver = function()
{
 this.gotoAndStop("nextOver");
}
next.onRollOut = next.onReleaseOutside = function()
{
 this.gotoAndStop("next");
}
next.onRelease = function()
{
 this._parent.playSong();
}
// Mute Button
mute.onRollOver = function()
{
 if(this._currentframe == 1) this.gotoAndStop("onOver");
 else this.gotoAndStop("offOver");
}
mute.onRollOut = mute.onReleaseOutside = function()
{
 if(this._currentframe == 10) this.gotoAndStop("on");
 else this.gotoAndStop("off");
}
mute.onRelease = function()
{
 if(this._currentframe == 10)
 {
  this.gotoAndStop("offOver");
  s.setVolume(0);
 }
 else
 {
  this.gotoAndStop("onOver");
  s.setVolume(75);
 }
}
 
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Text scroller bonus code
var size:Number = 21;
var textPos:Number = 0;
var intervalID:Number = setInterval(scroller, 1000);
function scroller():Void
{
 var t:String = (sa[cps].artist + " - " + sa[cps].track);
 if(textPos+size < t.length)
 {
  textPos++;
  trackInfo.text = (sa[cps].artist + " - " + sa[cps].track).substring(textPos, textPos+size);
 }
 else 
 {
  clearInterval(intervalID);
  intervalID = setInterval(scroller2, 1000);
 }
}
function scroller2():Void
{
 var t:String = (sa[cps].artist + " - " + sa[cps].track);
 if(textPos > 0)
 {
  textPos--;
  trackInfo.text = (sa[cps].artist + " - " + sa[cps].track).substring(textPos, size);
 }
 else 
 {
  clearInterval(intervalID);
  intervalID = setInterval(scroller, 1000);
 }
}

Ich habe schon ein bisschen rumprobiert und mich durch die Hilfe gelesen, komme aber auf keinen Nenner. Kann mir jemand helfen?
 

kleeaar

zwo-eins-risiko!

AW: Musicplayer soll nich sofort starten

naja... es ist eigentlich sehr einfach:
die funktion playSong();spiehlt die Music ab.
und diese funktion wird schoin ganz am anfang automatisch in deiner xml-abfrage angesprochen.
Das musst du löschen und eben auf einen button setzten.

Code:
autoplay=true;
playPause.onRelease = function()
{
 if(this._currentframe == 10)
 {
  this.gotoAndStop("playOver");
  this._parent.pauseIt();
 }
 elseif(autoplay==false)
 {
  this.gotoAndStop("pauseOver");
  this._parent.unPauseIt();
 }
else{
this._parent.autoplay=false;
  this.gotoAndStop("pauseOver");
this._parent.playSong();
}
}
das müsste gehen...

Grüße
 
Zuletzt bearbeitet:

kleeaar

zwo-eins-risiko!

AW: Musicplayer soll nich sofort starten

Code:
// Setup sound object
var s:Sound = new Sound();
s.onSoundComplete = playSong;
s.setVolume(75);
// Array of songs
var sa:Array = new Array();
// Currently playing song
var cps:Number = -1;
// Position of music
var pos:Number;
// Load the songs XML
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function()
{
 var nodes:Array = this.firstChild.childNodes;
 for(var i=0;i<nodes.length;i++)
 {
  sa.push(new Song(nodes[i].attributes.url, nodes[i].attributes.artist, nodes[i].attributes.track));
 }
}
xml.load("playlist.xml");
// Play the MP3 File
function playSong():Void
{
 s = new Sound();
 s.onSoundComplete = playSong;
 s.setVolume(75);
 mute.gotoAndStop("on");
 if(cps == sa.length - 1)
 {
  cps = 0;
  s.loadSound(sa[cps].earl, true);
 }
 else
 {
  s.loadSound(sa[++cps].earl, true);
 }
 trackInfo.text = sa[cps].artist + " - " + sa[cps].track;
 playPause.gotoAndStop("pause");
 textPos = 0;
}
// Pauses the music
function pauseIt():Void
{
 pos = s.position;
 s.stop();
}
// Pauses the music
function unPauseIt():Void
{
 s.start(pos/1000);
}
// Music Controls
// Play/Pause Toggle
playPause.onRollOver = function()
{
 if(this._currentframe == 1) this.gotoAndStop("pauseOver");
 else this.gotoAndStop("playOver");
}
playPause.onRollOut = playPause.onReleaseOutside = function()
{
 if(this._currentframe == 10) this.gotoAndStop("pause");
 else this.gotoAndStop("play");
}
autoplay=true;
playPause.onRelease = function()
{
 if(this._currentframe == 10)
 {
  this.gotoAndStop("playOver");
  this._parent.pauseIt();
 }
 elseif(autoplay==false)
 {
  this.gotoAndStop("pauseOver");
  this._parent.unPauseIt();
 }
else{
this._parent.autoplay=false;
  this.gotoAndStop("pauseOver");
this._parent.playSong();
}
}
// Next Button
next.onRollOver = function()
{
 this.gotoAndStop("nextOver");
}
next.onRollOut = next.onReleaseOutside = function()
{
 this.gotoAndStop("next");
}
next.onRelease = function()
{
 this._parent.playSong();
}
// Mute Button
mute.onRollOver = function()
{
 if(this._currentframe == 1) this.gotoAndStop("onOver");
 else this.gotoAndStop("offOver");
}
mute.onRollOut = mute.onReleaseOutside = function()
{
 if(this._currentframe == 10) this.gotoAndStop("on");
 else this.gotoAndStop("off");
}
mute.onRelease = function()
{
 if(this._currentframe == 10)
 {
  this.gotoAndStop("offOver");
  s.setVolume(0);
 }
 else
 {
  this.gotoAndStop("onOver");
  s.setVolume(75);
 }
}
 
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Text scroller bonus code
var size:Number = 21;
var textPos:Number = 0;
var intervalID:Number = setInterval(scroller, 1000);
function scroller():Void
{
 var t:String = (sa[cps].artist + " - " + sa[cps].track);
 if(textPos+size < t.length)
 {
  textPos++;
  trackInfo.text = (sa[cps].artist + " - " + sa[cps].track).substring(textPos, textPos+size);
 }
 else 
 {
  clearInterval(intervalID);
  intervalID = setInterval(scroller2, 1000);
 }
}
function scroller2():Void
{
 var t:String = (sa[cps].artist + " - " + sa[cps].track);
 if(textPos > 0)
 {
  textPos--;
  trackInfo.text = (sa[cps].artist + " - " + sa[cps].track).substring(textPos, size);
 }
 else 
 {
  clearInterval(intervalID);
  intervalID = setInterval(scroller, 1000);
 }
}

alles damit!
(aber ohne Gewähr! ich habe es nicht getestet...)

Grüße
 
Zuletzt bearbeitet:

smallgrapher

Noch nicht viel geschrieben

AW: Musicplayer soll nich sofort starten

Leider nicht, in Zeile 72 fehlt eine if Anweisung...

Ich weiss nur nicht wo die hin muss, da ich den code noch nicht so ganz verstehe.
 

kleeaar

zwo-eins-risiko!

AW: Musicplayer soll nich sofort starten

gut, wenn du mir jetzt noch sagst, was in der zeile steht, dann kann ich dir helfen...
aber ich zähle jetzt nicht die zeilen ab!
 

smallgrapher

Noch nicht viel geschrieben

AW: Musicplayer soll nich sofort starten

Code:
76   this.gotoAndStop("pauseOver");
77   this._parent.unPauseIt();
78  }
79 else{
80 this._parent.autoplay=false;
81   this.gotoAndStop("pauseOver");
82 this._parent.playSong();

Sry, hab nicht dran gedacht, das die Zeilen hier nicht mit angezeigt werden.
 

kleeaar

zwo-eins-risiko!

AW: Musicplayer soll nich sofort starten

ok, aber da kann ich jetzt keinen Fehler erkennen, zumindest fehlt da keine if-anweisung...
was genau sagt denn der debugger?

Grüße
 
A

ad86

Guest

AW: Musicplayer soll nich sofort starten

Hi,

Code:
 this.gotoAndStop("playOver");
  this._parent.pauseIt();
 }
 [COLOR="Red"]elseif[/COLOR](autoplay==false)
 {
  this.gotoAndStop("pauseOver");
  this._parent.unPauseIt();

Dort sollte dann else if (mit einem Leerzeichen dazwischen stehen), denke ich mal und dann ist das Problem gelöst.

Mfg ad86
 

smallgrapher

Noch nicht viel geschrieben

AW: Musicplayer soll nich sofort starten

Okay, das hat soweit funktioniert. Danke soweit.

Jetzt ist es noch so, das der Player zwar nicht sofort startet, aber auch der pause-button angezeigt wird. Sprich ich muss erst einmal Pause drücken, und dann Start damit der Song läuft.

Welche Anweisung ist die, die sagt das der pause-button zuerst da erscheinen soll?

Was mir eben noch aufgefallen ist, das der Player nicht mehr auf pause geht.!?


Da hab ich nochwas. Wenn ich diesen Player in meine HP einbinde, und auf einen Link klicke, spielt der Player wieder von vorne ab, obwohl ich mit dynamischen Inhalt arbeite. Sprich wo der Player eingebettet ist, das bleibt die ganze Zeit aktuell. Wie kann ich das umgehen? Sodass der Surfer auf der Site weitersurfen kann?!?
 
Zuletzt bearbeitet:

smallgrapher

Noch nicht viel geschrieben

AW: Musicplayer soll nich sofort starten

Hier nun mein aktueller Code:
Code:
// Setup sound object
var s:Sound = new Sound();
s.onSoundComplete = playSong;
s.setVolume(75);
// Array of songs
var sa:Array = new Array();
// Currently playing song
var cps:Number = -1;
// Position of music
var pos:Number;
// Load the songs XML
var xml:XML = new XML();
xml.ignoreWhite = true;
xml.onLoad = function()
{
 var nodes:Array = this.firstChild.childNodes;
 for(var i=0;i<nodes.length;i++)
 {
  sa.push(new Song(nodes[i].attributes.url, nodes[i].attributes.artist, nodes[i].attributes.track));
 }
}
xml.load("playlist.xml");
// Play the MP3 File
function playSong():Void
{
 s = new Sound();
 s.onSoundComplete = playSong;
 s.setVolume(75);
 mute.gotoAndStop("on");
 if(cps == sa.length - 1)
 {
  cps = 0;
  s.loadSound(sa[cps].earl, true);
 }
 else
 {
  s.loadSound(sa[++cps].earl, true);
 }
 trackInfo.text = sa[cps].artist + " - " + sa[cps].track;
 playPause.gotoAndStop("pause");
 textPos = 0;
}
// Pauses the music
function pauseIt():Void
{
 pos = s.position;
 s.stop();
}
// Pauses the music
function unPauseIt():Void
{
 s.start(pos/1000);
}
// Music Controls
// Play/Pause Toggle
playPause.onRollOver = function()
{
 if(this._currentframe == 1) this.gotoAndStop("pauseOver");
 else this.gotoAndStop("playOver");
}
playPause.onRollOut = playPause.onReleaseOutside = function()
{
 if(this._currentframe == 10) this.gotoAndStop("pause");
 else this.gotoAndStop("play");
}
autoplay=true;
playPause.onRelease = function()
{
 if(this._currentframe == 10)
 {
  this.gotoAndStop("playOver");
  this._parent.pauseIt();
 }
 else if(autoplay==false)
 {
  this.gotoAndStop("pauseOver");
  this._parent.unPauseIt();
 }
else{
this._parent.autoplay=false;
  this.gotoAndStop("pauseOver");
this._parent.playSong();
}
}
// Next Button
next.onRollOver = function()
{
 this.gotoAndStop("nextOver");
}
next.onRollOut = next.onReleaseOutside = function()
{
 this.gotoAndStop("next");
}
next.onRelease = function()
{
 this._parent.playSong();
}
// Mute Button
mute.onRollOver = function()
{
 if(this._currentframe == 1) this.gotoAndStop("onOver");
 else this.gotoAndStop("offOver");
}
mute.onRollOut = mute.onReleaseOutside = function()
{
 if(this._currentframe == 10) this.gotoAndStop("on");
 else this.gotoAndStop("off");
}
mute.onRelease = function()
{
 if(this._currentframe == 10)
 {
  this.gotoAndStop("offOver");
  s.setVolume(0);
 }
 else
 {
  this.gotoAndStop("onOver");
  s.setVolume(75);
 }
}
 
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Text scroller bonus code
var size:Number = 21;
var textPos:Number = 0;
var intervalID:Number = setInterval(scroller, 1000);
function scroller():Void
{
 var t:String = (sa[cps].artist + " - " + sa[cps].track);
 if(textPos+size < t.length)
 {
  textPos++;
  trackInfo.text = (sa[cps].artist + " - " + sa[cps].track).substring(textPos, textPos+size);
 }
 else 
 {
  clearInterval(intervalID);
  intervalID = setInterval(scroller2, 1000);
 }
}
function scroller2():Void
{
 var t:String = (sa[cps].artist + " - " + sa[cps].track);
 if(textPos > 0)
 {
  textPos--;
  trackInfo.text = (sa[cps].artist + " - " + sa[cps].track).substring(textPos, size);
 }
 else 
 {
  clearInterval(intervalID);
  intervalID = setInterval(scroller, 1000);
 }
}

ich habe alle möglichen vatiablen ausprobiert, zu verstehen und zu ändern. Bin schon ein ganzes Stück weiter mit meinem Wissen, nur hab ich immer noch das Problem, das er die Pausetaste zuerst anzeigt und nicht mehr auf Stop geht. Könnte sich vielleicht einer mal erbarmen und sich den Code noch einmal anschauen?
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.188
Beiträge
2.582.069
Mitglieder
67.257
Neuestes Mitglied
Can Ergin
Oben