JMF - Como faço pra mudar de canal em uma placa de TV?

Bom dia Galera,

Tenho uma aplicação na qual eu pego o sinal de uma placa de TV e exibo na tela para o usuário.
Consigo pegar o sinal, consegui redimensionar (depois de muito custo) o vídeo, mas não sei como eu faço para poder definir um canal para o jmf exibir o video. Já procurei em toda a internet, estudei toda a especificação JMF e não descobri como fazer isso?

Alguém pode me ajudar com isso? VOu ficar muitos grato e já me custou muitas noites de sono!!!

Segue o código abaixo, por favor desconsiderem os códigos comentados (testes) rs

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Toolkit;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.ContainerAdapter;
 
import javax.media.Control;
import javax.media.ControllerEvent;
import javax.media.ControllerListener;
import javax.media.EndOfMediaEvent;
import javax.media.Manager;
import javax.media.MediaLocator;
import javax.media.Time;
import javax.media.bean.playerbean.MediaPlayer;
import javax.media.control.PortControl;
import javax.swing.JFrame;
import javax.swing.JWindow;

import com.sun.media.BasicJMD;
import com.sun.media.PlaybackEngine;

public class VideoPanel2 extends JFrame  implements ControllerListener
{
	MediaPlayer mediaPlayer = new MediaPlayer();

public VideoPanel2(MediaPlayer mediaPlayer2, MediaLocator locator)
{
	Manager.setHint( Manager.LIGHTWEIGHT_RENDERER, true );
	Dimension dimFull = Toolkit.getDefaultToolkit().getScreenSize();
	int altura = (dimFull.width *20) / 100;
	System.out.println(altura);
	Dimension dimVPanel = new Dimension(dimFull.width, dimFull.height - altura );
	
	System.out.println(dimFull);
	setLayout(new BorderLayout());
	setPreferredSize(dimFull);
	setSize(dimFull);
	setMinimumSize(dimFull);
//	setResizable(false);
	mediaPlayer.setMediaLocator(locator);
	mediaPlayer.setControlPanelVisible(false);
	mediaPlayer.setBounds(0,0, dimVPanel.width, dimVPanel.height);
	mediaPlayer.setPlaybackLoop(false);
	mediaPlayer.addControllerListener(this);
	mediaPlayer.setFixedAspectRatio(false);
	
//	getPlayer().getControl("PortControl");
	Control[] controls = mediaPlayer.getPlayer().getControls();
	for (Control control : controls) {
		if( control.getControlComponent() !=null ){
//			add( control.getControlComponent() , BorderLayout.SOUTH);
		}
		System.out.println(control);
	}


	
	mediaPlayer.setVolumeLevel("5");
	add(mediaPlayer); //TEM DE SER CERTER, NORTH nao redimensiona
//	mediaPlayer.realize();
//	mediaPlayer.getGainControl().setLevel(1.0F);
	MessagesPanel messagesPanel = new MessagesPanel();
	messagesPanel.setSize(dimFull.width, altura);
//	add(messagesPanel, BorderLayout.SOUTH);
	
	
	addComponentListener(new ComponentAdapter()
	{
		public void componentShown(ComponentEvent event)
		{
			try 
			{
				mediaPlayer.start();
				PortControl portControl =
					(PortControl) mediaPlayer.getPlayer().getControl("javax.media.control.PortControl");
				portControl.setPorts(PortControl.TV_TUNER);
				
			} 
			catch (Exception e) 
			{
				e.printStackTrace();
			}
		}
	}
	);

	addContainerListener(new ContainerAdapter()
	{
		public void componentRemoved(java.awt.event.ContainerEvent event)
		{
			try 
			{
				mediaPlayer.stop();
				mediaPlayer.deallocate();
			} 
			catch (Exception e) 
			{
				e.printStackTrace();
			}
		}
	}
	);
	
	pack();
	setVisible(true);
//	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void controllerUpdate(ControllerEvent e)
{
	if (e instanceof EndOfMediaEvent)
	{
		mediaPlayer.setMediaTime(new Time(1));
		return;
	}
}

 public void paint (Graphics g)
 {
	 super.paint (g);
 }  
}

alguém pra dar uma luz, please!!!??