Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
blueBill Core - open source birding Copyright (C) 2009-2011 by Tidalwave s.a.s. (http://www.tidalwave.it) Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. WWW: http://bluebill.tidalwave.it SCM: https://java.net/hg/bluebill~core-src /
 
 package it.tidalwave.mobile.media;
 
 import  javax.annotation.Nonnegative;
 import  javax.annotation.Nonnull;

Author(s):
Fabrizio Giudici
Version:
$Id$ /
 
 public interface MediaPlayer
   {
    
/
 
     public static abstract class Controller
       {
         public static final String PROP_PLAYING = "playing";
 
         protected boolean playing;
 
         private final PropertyChangeSupport propertyChangeSupport = new PropertyChangeSupport(this);

        
/
 
         public abstract void start();

        
/
 
         public abstract void stop();

        
/
 
         public abstract void pause();

        
/
 
         @Nonnegative
         public abstract int getDuration();

        
/
 
         @Nonnegative
         public abstract int getPosition();

        
/
 
         public abstract void setPosition (@Nonnegative int position);

        
/
 
         public abstract boolean isPlaying();

        
/
 
         public abstract void dispose();

        
/
        public void addPropertyChangeListener (final @Nonnull PropertyChangeListener listener)
          {
            .addPropertyChangeListener(listener);
          }

        
/
        public void removePropertyChangeListener (final @Nonnull PropertyChangeListener listener)
          {
            .removePropertyChangeListener(listener);
          }

        
/
        protected void setPlaying (final boolean playing)
          {
            final boolean oldPlaying = this.;
            this. = playing;
            .firePropertyChange(oldPlayingplaying);
          }
      }

    
/
    @Nonnull
    public Controller play (@Nonnull Media media)
      throws IOException;

    
/
    public void stop(); // rename to stopAll()
  }
New to GrepCode? Check out our FAQ X