Have you tried something like <dg change="player.contentPath=this.selectedItem.filePath"
--- In flexcoders@yahoogroups.com, "Venkata Krishnan Natarajan" <[EMAIL PROTECTED]> wrote: > Hi, > > I used the "complete" event to change the selectedItem of the grid to > selectedItem+1, which loads the next song in the grid to the controller. But > the controller is paused. I have to click the play button to play the song. > I tried changing the autoplay properties of the controller but it wont work. > Any suggestions? I have attached the mxml and actionscript code for > reference. Please advice. > > Thanks > Venkat > > -------------mxml------------- > <?xml version="1.0" encoding="utf-8"?> > <mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" > marginBottom="0" marginLeft="0" marginRight="0" marginTop="0" > backgroundColor="#FFFFFF" horizontalAlign="center" xmlns="*"> > > <mx:Model id="model1" source="Tamilmakkal.xml"/> > > <mx:Script source="DragEventHandlers.as"/> > > <mx:Canvas width="770" height="100%" cornerRadius="10" > borderColor="#666666" dropShadow="true"> > <mx:HBox width="100%" height="100%" horizontalAlign="left" > marginLeft="0" marginRight="0" horizontalGap="0" marginBottom="0" > marginTop="0" verticalGap="0" > > > <mx:Panel title="ALBUMS" height="100%" width="200" marginBottom="0" > marginRight="0" marginTop="0" marginLeft="0" > > <mx:VDividedBox marginBottom="0" marginRight="0" marginTop="0" > marginLeft="0" width="100%" height="100%"> > > <mx:List height="50%" width="100%" dataProvider="{model1.Music.Album}" > change="this.selectedItem=event.target.selectedItem" borderThickness="1" > borderStyle="solid" buttonColor="#FFFFFF"/> > > <mx:DataGrid id="datagrid1" dragEnabled="true" > multipleSelection="true" dataProvider="{selectedItem.file}" width="100%" > height="50%"> > <mx:columns> > <mx:Array> > <mx:DataGridColumn headerText="Title" > columnName="filename" /> > </mx:Array> > </mx:columns> > </mx:DataGrid> > > </mx:VDividedBox> > </mx:Panel> > > <mx:Panel title="PLAYLIST" verticalAlign="middle" height="100%" > width="540" barColor="#A2C7F4"> > > <mx:DataGrid id="dg" width="100%" height="100%" > dragEnter="doDragEnter(event)" dragExit="doDragExit(event)" > dragDrop="doDragDrop(event)" dragOver="doDragOver(event)" > dragComplete="doDragComplete(event)"> > <mx:columns> > <mx:Array> > <mx:DataGridColumn headerText="Title" > columnName="filename" /> > <mx:DataGridColumn headerText="Size" > columnName="filesize" /> > </mx:Array> > </mx:columns> > </mx:DataGrid> > > <mx:ControlBar width="100%"> > <mx:VBox width="100%"> > <mx:MediaDisplay id="player" contentPath="{dg.selectedItem.filepath}" > autoPlay="true" width="253" height="1" complete="movenext()" > change="{progress.setProgress(player.playheadTime, player.totalTime)}"/> > <mx:MediaController id="mediacontrol" > controllerPolicy="on" > associatedDisplay="player" width="100%" enabled="true" > activePlayControl="play" /> > > <mx:HBox> > > <mx:Button label="Previous" > click="{dg.selectedIndex=dg.selectedIndex-1}"/> > <mx:Button id="next" label="Next" > click="{dg.selectedIndex=dg.selectedIndex+1}"/> > <mx:HSlider id="volcontrol" width="100" maximum="100" minimum="0" > change="{player.volume=volcontrol.value}" value="75" /> > <mx:ProgressBar id="progress" mode="manual" > minimum="0" > complete="{dg.selectedIndex=dg.selectedIndex-1}"/> > </mx:HBox> > </mx:VBox> > </mx:ControlBar> > > </mx:Panel> > </mx:HBox> > </mx:Canvas> > > </mx:Application> > > --------------------------Actionscript-------------------------- > > import mx.managers.DragManager; > var selectedItem:Object; > var selectedItem1:Object; > function doDragEnter(event) { > event.handled="true"; > } > > function doDragExit(event) { > event.target.hideDropFeedback(); > } > > function doDragOver(event) { > event.target.showDropFeedback(); > > if (Key.isDown(Key.CONTROL)) > event.action = DragManager.COPY; > else > event.action = DragManager.MOVE; > } > > function doDragDrop(event) { > > doDragExit(event); > var items = event.dragSource.dataForFormat("items"); > var dest = event.target; > var dropLoc = dest.getDropLocation() > > items.reverse() > > for(var i = 0; i < items.length; i++) { > dest.addItemAt(dropLoc, items[i]); > } > } > > function doDragComplete(event) { > doDragExit(event); > var src = event.target; > > if (event.action == DragManager.MOVE) { > > var items = src.selectedIndices; > > items.sort(sortByNumber) // If user selects the > listitems in random > order, we first sort the array to have all the items in order > items.reverse() // then we reverse the array. In list when > any item is removed, it decreases the index of the items below it. > // so we remove the bottom most item > first. > var s=""; > for(var i = 0; i < items.length; i++) { > s=s+items[i]+" : "; > } > > for(var i = 0; i < items.length; i++) { > src.removeItemAt(items[i]) > } > > } > } > > function sortByNumber(a, b) { > return (a > b); > } > > function movenext () { > dg.selectedIndex=dg.selectedIndex+1 > //player.contentPath=model1.Music.Album.file[dg.selectedIndex]; > //mediacontrol.activePlayControl="pause"; > player.autoPlay=false; > } > > > > > Date: Sat, 11 Jun 2005 21:33:00 -0400 > From: "JesterXL" <[EMAIL PROTECTED]> > Subject: Re: Digest Number 877 > > Check the docs for events you can register for. > > The MediaPlayer has a "complete" event that'll trigger when the media is > done. Have that play the next selected song when it fires. > > ----- Original Message ----- > From: "Venkata Krishnan Natarajan" <[EMAIL PROTECTED]> > To: <flexcoders@yahoogroups.com> > Sent: Saturday, June 11, 2005 2:15 PM > Subject: RE: [flexcoders] Digest Number 877 > > > Hi, > > I'm a beginner to RIA development. I'm trying to develop a music player > using flex. Currently I load a list of songs in a datagrid. When the user > clicks an item, the media contoller and player plays the song. I would like > the player to automatically go to the next song in the grid after the song > is completed. Can anyone advise on how to approach this. > > Thanks > Venkat > > _________________________________________________________________ > Express yourself instantly with MSN Messenger! Download today - it's FREE! > http://messenger.msn.click-url.com/go/onm00200471ave/direct/01/ Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/