Monthly Archives: janeiro 2013

API de Vídeos do Youtube – exemplo de código

Posted by rlecheta on janeiro 23, 2013
Android, Tutorial / 3 Comments

A pedidos, segue exemplo de código de como reproduzir um vídeo do Youtube no Android, utilizando a API.

1) Primeiramente baixe a  YouTube Android Player API e descompacte o arquivo zip.

2) No Eclipse, crie um projeto chamado YoutubeDemo.

3) Copie o arquivo YouTubeAndroidPlayerApi.jar que você baixou, para a pasta “libs” do projeto.

E no seu projeto, adicione a permissão para utilizar a internet.

<uses-permission android:name=”android.permission.INTERNET”/>

4) Agora vamos criar um simples arquivo de layout no arquivo /res/layoutactivity_main.xml

Note que a view do player do Youtube é adicionada no layout

<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:orientation=”vertical” >

<com.google.android.youtube.player.YouTubePlayerView
android:id=”@+id/youtube_view”
android:layout_width=”match_parent”
android:layout_height=”match_parent” />

</LinearLayout>

5) Sua activity precisa herdade de YouTubeBaseActivity, e para facilitar vamos criar uma activity simples que vai iniciar o player e verificar os resultados.


public abstract class YouTubeFailureRecoveryActivity extends YouTubeBaseActivity implements YouTubePlayer.OnInitializedListener {

private static final int RECOVERY_DIALOG_REQUEST = 1;

@Override
public void onInitializationFailure(YouTubePlayer.Provider provider, YouTubeInitializationResult errorReason) {
if (errorReason.isUserRecoverableError()) {
errorReason.getErrorDialog(this, RECOVERY_DIALOG_REQUEST).show();
} else {
String errorMessage = String.format(getString(R.string.error_player), errorReason.toString());
Toast.makeText(this, errorMessage, Toast.LENGTH_LONG).show();
}
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == RECOVERY_DIALOG_REQUEST) {
// Retry initialization if user performed a recovery action
getYouTubePlayerProvider().initialize(DeveloperKey.DEVELOPER_KEY, this);
}
}

protected abstract YouTubePlayer.Provider getYouTubePlayerProvider();

}

Esta classe é abstrata e cuida da inicialização do player e do tratamento de erros.

6) Crie a activity final da seguinte forma.

Note que basicamente a view do player é recuperada do layout e inicializada.

Depois basta chamar o método player.cueVideo(“video_id”) informando o id do vídeo para iniciar a reprodução.


public class MainActivity extends YouTubeFailureRecoveryActivity {
<blockquote>@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

YouTubePlayerView youtubeView = (YouTubePlayerView) findViewById(R.id.youtube_view);
youtubeView.initialize(DeveloperKey.DEVELOPER_KEY, this);
}

@Override
public void onInitializationSuccess(YouTubePlayer.Provider provider, YouTubePlayer player, boolean wasRestored) {
if (!wasRestored) {
player.cueVideo("33NOE1XhXBM");
}
}

@Override
protected YouTubePlayer.Provider getYouTubePlayerProvider() {
return (YouTubePlayerView) findViewById(R.id.youtube_view);
}
}

7) Crie um projeto no Console APIs para criar a chave de desenvolvedor para a API do Youtube

Note que o código utiliza a constante DeveloperKey.DEVELOPER_KEY, e você precisa preencher esta constante com sua chave de desenvolvedor.

Entre no console e crie um projeto.

https://code.google.com/apis/console/

O processo para gerar a chave é simples e você pode ver neste link.

https://developers.google.com/youtube/android/player/register

Apenas para ajudar, lembre-se de no menu Services, habilitar o serviço do Youtube conforme a figura abaixo.

img004

Depois entre no menu API Access clique no botão Create new Android Key.

A entrada deve ser o SHAI fingerprint de seu certificado de desenvolvimento + “;” + o seu pacote.

img005

Depois de gerar a chave ela estará disponível no console, portanto copie-a.

img006

Esta chave é justamente a constante DeveloperKey.DEVELOPER_KEY que é utilizada no código.


public class DeveloperKey {

public static final String DEVELOPER_KEY = "AIzaSyAZkytO4O8J5ZoMD-CgYZ-Z83HlOhOB-Z8";

}

8) Parabéns, agora execute o código e veja o vídeo do Youtube executando em seu Android!

youtube_demo

API de Vídeos do Youtube no Android

Posted by rlecheta on janeiro 22, 2013
Android, Tutorial / No Comments

Sua app Android precisa exibir um vídeo do Youtube com alta qualidade?

O Google lançou uma API experta para reproduzir vídeos do Youtube no Android, com os seguintes benefícios:

* Suporte à reprodução de alta qualidade em Android 2.2 (Froyo) ou mais recentes
* Fácil integração com a sua aplicação (não requer o uso de WebView)
* Suporte à tela cheia e mudança de orientação
* Exibição de legendas
* Suporte aos anúncios do YouTube (YouTube ads)
* Acesso programático, similar ao já existente para a Player APIs, para a maioria dos aspectos da experiência de reprodução de vídeos no YouTube.
* Integração com a aplicação nativa do YouTube usando o conjunto padrão de Intents do YouTube.

youtube

Basicamente você vai adicionar a biblioteca no seu projeto e utilizar os componentes YouTubePlayerView ou YouTubePlayerFragment.

O projeto de exemplo pode se encontrado aqui:

http://code.google.com/p/youtube-api-samples/

Confira mais detalhes no blog do Youtube!

http://apiblog.youtube.com/2012/12/no-webview-required-with-native-youtube.html