quarta-feira, 24 de maio de 2017

Como enviar textos do smartphone para o Kindle

Moto G3 & Kindle

A tela do celular não favorece muito a leitura de textos longos, da mesma forma que no computador desktop ou notebook. Para estes dois, veja como enviar textos para o Kindle nestes links: 
Como enviar arquivos de texto do computador direto para o Kindle
Como enviar e converter arquivos de texto para o Kindle via e-mail
Enviando textos da web para o Kindle

Você também pode passar um texto interessante que você viu no seu celular, além de arquivos de textos que estejam no seu aparelho. 

Antes de qualquer coisa, confira nesta publicação como colocar o seu e-mail numa lista dentro do seu cadastro na Amazon, para poder enviar os textos para o e-book.

APLICATIVOS NECESSÁRIOS

Aplicativo Kindle

O aplicativo Kindle for Android permite enviar arquivos para o dispositivo, além de você poder ter acesso ao conteúdo do seu e-book no celular.


Aplicativo

Já para enviar textos do navegador de internet para o dispositivo, instale o Upload to Kindle.


Aplicativo

Também, como alternativa para enviar texto da web, tem o Read on Kindle.

ENVIANDO ARQUIVOS DE TEXTO...

Se você já baixou arquivos de texto, em PDF por exemplo, basta localizá-lo no seu celular. Quando você acabou de baixar aparece nas notificações, porém se for arquivo antigo, você terá de buscar onde ele estiver gravado na memória do seu aparelho. 

Em geral ele fica na pasta downloads. Você deve precisar de um aplicativo gerenciador de arquivos, caso não tenha já instalado no seu smartphone. Pesquise no Play Store. Você deverá encontrar um de acordo com a marca do seu aparelho.


Android

Localizando os arquivos no smartphone:

Por padrão os arquivos baixados vão para a memória interna do celular, na pasta downloads. Pelo gerenciador de arquivos você pode localizar esta pasta acessando o conteúdo da memória interna, como na imagem abaixo (exemplo num Moto G 3):

Android

A dica é localizar alguma lupa de pesquisa no aplicativo, dependendo da marca do seu celular e do aplicativo escolhido. Pois assim bastará digitar o nome. No caso do gerenciador padrão para o Moto G, a busca é manual. Confira a pasta downloads do gerenciador da motorola:

Android

Leitor de PDF do Drive:

Aberto o arquivo no aplicativo de leitura do seu celular, localize o menu de opções do aplicativo, o que por padrão são três pontos ou três linhas. Como exemplo de leitor de PDF coloco o do Drive, que vem de fábrica em boa parte dos aparelhos de celular:

Android

Envie para o Kindle com a opção Enviar arquivo:

Android

Localize o ícone do Kindle para enviar:

Android

Selecione a opção correspondente ao nome do seu dispositivo, conforme cadastrado na sua conta na Amazon:

Android

Finalmente, ative o WI-FI de seu Kindle para receber o arquivo.

ENVIANDO TEXTO DO NAVEGADOR WEB...

Uma vez na página onde estiver o texto que deseja enviar, clique nos três pontos no canto superior direito do navegador, para acessar o menu de opções e escolha Compartilhar...

Android

Se escolher o Upload to Kindle, surgirá a seguinte tela, onde você deverá colocar o nome de sua preferência, o seu e-mail do kindle e seu e-mail pessoal (lembrando, o que tiver na lista de e-mails autorizados do seu cadastro na Amazon, conforme orientação neste link):


Upload to Kindle

Caso prefira o Read on Kindle, surgirá a tela abaixo, pedindo o seu e-mail do kindle e o e-mail pessoa registrado na lista de autorizados:


Read on Kindle

Confira ativando o WI-FI no seu e-book Kindle o texto enviado.

Escreva nos comentários, clique em curtir, visite a página do Facebook  e compartilhe com seus amigos. Até a próxima!

segunda-feira, 8 de maio de 2017

Java Desktop, Cadastro CRUD: Final


Na parte 5 o sistema ficou parcialmente pronto, com a janela desenhada, porém sem funcionamento. 

Nesta parte final veremos passo a passo os métodos que farão a rotina de inserir, atualizar, pesquisar e deletar dados. Usando a Orientação a Objetos, veremos o método montaCliente, que monta no objeto Cliente os dados preenchidos no formulário, para inserir, atualizar e deletar; limpaTela para apagar os campos, quando necessário para inserir novos dados; setCliente, responsável por preencher os campos do formulário com os dados do cliente selecionado na lista de pesquisa; carregaLista, que "alimenta" o combobox com os registros cadastrados no banco e os métodos da interface de eventos ActionListener, onde os botões são programados para executar cada um sua ação no sistema. Para que o CRUD funcione é preciso criar uma outra classe, como dito anteriormente na parte 2, a classe ClienteCT.

CLASSE CLIENTECT

Crie a Classe ClienteCT no pacote controle, com o código abaixo. Esta classe "chama" os métodos da classe ClienteDao e atribuem a um objeto da classe Cliente.
1 package br.com.cliente.controle;
2 
3 import java.util.List;
4 import br.com.fabrica.bean.Cliente;
5 import br.com.fabrica.dao.ClienteDao;
6 
7 public class ClienteCT {
8   public void insert(Cliente c){
9   ClienteDao dao = new ClienteDao();
10  dao.insert(c);
11  }
12 
13  public void update(Cliente c){
14  ClienteDao dao = new ClienteDao();
15  dao.update(c);
16  }
17 
18  public void delete(Cliente c){
19  ClienteDao dao = new ClienteDao();
20  dao.delete(c);
21  }
22 
23  public Cliente select(int i){
24  ClienteDao dao = new ClienteDao();
25  Cliente c = (Cliente) dao.select();
26  return c;
27  }
28 
29  public List select(){
30  ClienteDao dao = new ClienteDao();
31  List c = dao.select();
32  return c;
33  }
34 }

MÉTODOS DA ROTINA CRUD NO FORMULÁRIO

Em seguida, volte à classe FormCliente. Abaixo dos atributos privados, crie o método montaCliente (observe os comentários no código abaixo para entender a função do método):
1  public Cliente montaCliente(){ 
2    //Pega dos dados digitados nos campos do formulário e atribui ao objeto da classe Cliente;
3    Cliente c = new Cliente();
4     c.setNome(this.txtNome.getText());
5     c.setEndereco(this.txtEndereco.getText());
6     c.setMunicipio(this.txtMunicipio.getText());
7     c.setCep(this.txtCep.getText());
8     c.setTel(this.txtTel.getText());
9     c.setCel(this.txtCel.getText());
10    c.setCpf(this.txtCpf.getText());
11    c.setCnpj(this.txtCnpj.getText());
12    c.setGenero(genero);
13    
14    if(this.txtID.getText() != null && !this.txtID.getText().equals("")){
15     c.setId(Integer.parseInt(this.txtID.getText()));
16     //Condicional para garantir que o campo ID não seja nulo;
17    }
18    return c;
19    } 
Logo abaixo, ponha o código abaixo, limpaTela, método que apaga os campos do formulário:
1 public void limpaTela(){
2    //Limpa os campos do formulário;
3    this.txtNome.setText("");
4    this.txtEndereco.setText("");
5    this.txtMunicipio.setText("");
6    this.txtCep.setText("");
7    this.txtTel.setText("");
8    this.txtCel.setText("");
9    this.txtCpf.setText("");
10   this.txtCnpj.setText("");
11   this.txtID.setText(null);
12   this.rdbtnF.setSelected(false);
13   this.rdbtnM.setSelected(false);
14  }
Para fazer a seleção de um cliente, preenchendo os dados no formulário, o método setCliente:
1  public void setCliente(Cliente c){ 
2     //Preenche formulário de Cliente selecionado no combobox, ao clicar no botão pesquisar;
3     this.txtNome.setText(c.getNome());
4     this.txtEndereco.setText(c.getEndereco());
5     this.txtMunicipio.setText(c.getMunicipio());
6     this.txtCep.setText(c.getCep());
7     this.txtTel.setText(c.getTel());
8     this.txtCel.setText(c.getCel());
9     this.txtCpf.setText(c.getCpf());
10    this.txtCnpj.setText(c.getCnpj());
11    if(c.getGenero().equals("F")){
12     this.rdbtnF.setSelected(true);
13     genero = "F";
14    }else if(c.getGenero().equals("M")){
15     this.rdbtnM.setSelected(true);
16     genero = "M";
17    }
18    //Condicional para seleção do radiobutton do registro selecionado;
19    if(c.getId() != null && c.getId() > 0){
20     this.txtID.setText(c.getId().toString());
21    } //Condicional para garantir que o campo ID não seja nulo;
22   }
Carregar lista no combobox com o método carregaLista:
1 public void carregaLista(){ 
2    //Preenche Combobox com registros do banco de dados
3    ClienteCT mbc = new ClienteCT();
4    
5    List ClienteBd = mbc.select();
6    cbPesquisar.removeAllItems();
7    for (Cliente Medico : ClienteBd) {
8    cbPesquisar.addItem(Medico);
9   }
10  }

ActionListener - colocando os botões para funcionar

Seguindo o mesmo passo dado na Parte 4, implementando a interface Dao, implemente a interface de eventos ActionListener, para programar os eventos dos botões do formulário.


Eclipse - implements ActionListener

Botão Salvar - confira o código abaixo com os comentários:
1  @Override
2   public void actionPerformed(ActionEvent e) {
3    if(e.getActionCommand().equals(this.btnSalvar.getActionCommand())){
4     //Condicional - se clicar no botão Salvar (disquete)...
5     Cliente c = this.montaCliente();
6     //Chama o método montaCliente para pegar os dados e gravar no objeto Cliente c;
7     ClienteCT cbc = new ClienteCT();
8     //Instancia a classe de controle ClienteCT;
9     cbc.insert(c);
10    //Chama o método insert da classe ClienteCT para inserir os dados do objeto Cliente (c) de montaCliente no banco;
11    this.limpaTela();
12    //Limpa os campos após inserir/salvar dados no banco;
13    this.carregaLista();
14    //Carrega a lista do combobox, atualizando após inserção;
15    JOptionPane.showMessageDialog(null, "Cliente "+txtNome.getText()+" cadastrado...");
16    //Abre diálogo de mensagem, informando que o cliente foi cadastrado;
17   }

Java Desktop

Botão Pesquisar:
1 }else if(e.getActionCommand().equals(this.btnPesquisar.getActionCommand())){
2    //Condicional adicional - se clicar no botão Selecionar (lupa)...
3    if(cbPesquisar.getSelectedItem() != null && !cbPesquisar.getSelectedItem().equals("")){
4     //Condicional - se o campo de pesquisa NÃO estiver em branco ao clicar em Selecionar...
5     Cliente c = (Cliente) cbPesquisar.getSelectedItem();
6     //Cast - pega o item selecionado no combobox e transforma num objeto Cliente;
7     this.setCliente(c);
8     //Chama o método setCliente para preencher os campos do formulário a partir do objeto Cliente da seleção do combobox;
9    }else{
10    JOptionPane.showMessageDialog(null, "Escolha um cliente na lista para pesquisar.");
11    //Caso o campo combobox esteja em branco ao clicar em Selecionar, abre diálogo orientando escolher primeiro um cliente da lista;
12   }
13 }
Java Desktop

Botão Excluir:
1 }else if(e.getActionCommand().equals(this.btnExcluir.getActionCommand())){
2     //Caso o botão acionado seja Excluir (ícone "X");
3     String[] options = {"Sim", "Não"};
4     //Cria variável tipo vetor para definir botão de seleção ativado por padrão;
5     int conf = JOptionPane.showOptionDialog(null, null, "CONFIRMA EXCLUSÃO?", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[1]);
6     //Cria variável tipo int com configuração de janela de diálogo de confirmação de exclusão;
7     if(conf == JOptionPane.YES_OPTION){
8      //Condicional: se a opção for SIM na confirmação...
9      Cliente c = this.montaCliente();
10     //Chama o método montaCliente para pegar os dados e gravar no objeto Cliente c;
11     ClienteCT cbc = new ClienteCT();
12     //Instancia a classe de controle ClienteCT;
13     cbc.delete(c);
14     //Chama o método delete da classe ClienteCT para excluir dados do objeto Cliente (c) de montaCliente no banco;
15     this.limpaTela();
16     //Limpa os campos após excluir dados do banco;
17     this.carregaLista();
18     //Carrega a lista do combobox, atualizando após inserção;
19    }
Java Desktop

Botão Editar:
1 }else if(e.getActionCommand().equals(this.btnEditar.getActionCommand())){
2     //Caso o botão acionado seja Editar (ícone Lápis);
3     String[] options = {"Sim", "Não"};
4     //Cria variável tipo vetor para definir botão de seleção ativado por padrão;
5       int conf = JOptionPane.showOptionDialog(null, null, "CONFIRMA EDIÇÃO?", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[1]);
6     //Cria variável tipo int com configuração de janela de diálogo de confirmação de edição;
7       if(conf == JOptionPane.YES_OPTION){
8      //Condicional: se a opção for SIM na confirmação...
9      Cliente c = this.montaCliente();
10     //Chama o método montaCliente para pegar os dados e gravar no objeto Cliente c;
11     ClienteCT cbc = new ClienteCT();
12     //Instancia a classe de controle ClienteCT;
13     cbc.update(c);
14     //Chama o método update da classe ClienteCT para atualizar dados do objeto Cliente (c) de montaCliente no banco;
15     this.limpaTela();
16     //Limpa os campos após atualizar os dados do banco;
17     this.carregaLista();
18     //Carrega a lista do combobox, atualizando após edição;
19    }
20   }

Implementação do ActionListener completa:

1 @Override
2  public void actionPerformed(ActionEvent e) {
3   if(e.getActionCommand().equals(this.btnSalvar.getActionCommand())){
4    //Condicional - se clicar no botão Salvar (disquete)...
5    Cliente c = this.montaCliente();
6    //Chama o método montaCliente para pegar os dados e gravar no objeto;
7    ClienteCT cbc = new ClienteCT();
8    //Instancia a classe de controle ClienteCT;
9    cbc.insert(c);
10   //Chama o método insert da classe ClienteCT para inserir dados no banco;
11   this.limpaTela();
12   //Limpa os campos após inserir/salvar dados no banco;
13   this.carregaLista();
14   //Carrega a lista do combobox, atualizando após inserção;
15   JOptionPane.showMessageDialog(null, "Cliente "+txtNome.getText()+" cadastrado...");
16   //Abre diálogo de mensagem, informando que o cliente foi cadastrado;
17  }else if(e.getActionCommand().equals(this.btnPesquisar.getActionCommand())){
18   //Condicional adicional - se clicar no botão Selecionar (lupa)...
19   if(cbPesquisar.getSelectedItem() != null && !cbPesquisar.getSelectedItem().equals("")){
20    //Condicional - se o campo de pesquisa NÃO estiver em branco ao clicar em Selecionar...
21    Cliente c = (Cliente) cbPesquisar.getSelectedItem();
22    //Cast - pega o item selecionado no combobox e transforma num objeto Cliente;
23    this.setCliente(c);
24    //Chama o método setCliente para preencher os campos do formulário a partir do objeto Cliente da seleção do combobox;
25   }else{
26    JOptionPane.showMessageDialog(null, "Escolha um cliente na lista para pesquisar.");
27    //Caso o campo combobox esteja em branco ao clicar em Selecionar, abre diálogo orientando escolher primeiro um cliente da lista;
28   }
29   }else if(e.getActionCommand().equals(this.btnLimpar.getActionCommand())){
30    //Ao clicar no botão Limpar (ícone-vassoura);
31    this.limpaTela();
32    //Aciona o método limpaTela, limpando os campos do formulário;
33   }else if(e.getActionCommand().equals(this.btnExcluir.getActionCommand())){
34    //Caso o botão acionado seja Excluir (ícone "X");
35    String[] options = {"Sim", "Não"};
36    //Cria variável tipo vetor para definir botão de seleção ativado por padrão;
37    int conf = JOptionPane.showOptionDialog(null, null, "CONFIRMA EXCLUSÃO?", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[1]);
38    //Cria variável tipo int com configuração de janela de diálogo de confirmação de exclusão;
39    if(conf == JOptionPane.YES_OPTION){
40     //Condicional: se a opção for SIM na confirmação...
41     Cliente c = this.montaCliente();
42     //Chama o método montaCliente para pegar os dados e gravar no objeto Cliente c;
43     ClienteCT cbc = new ClienteCT();
44     //Instancia a classe de controle ClienteCT;
45     cbc.delete(c);
46     //Chama o método delete da classe ClienteCT para excluir dados do objeto Cliente (c) no banco;
47     this.limpaTela();
48     //Limpa os campos após excluir os dados do banco;
49     this.carregaLista();
50     //Carrega a lista do combobox, atualizando após exclusão;
51    }
52   }else if(e.getActionCommand().equals(this.btnEditar.getActionCommand())){
53    //Caso o botão acionado seja Editar (ícone Lápis);
54    String[] options = {"Sim", "Não"};
55    //Cria variável tipo vetor para definir botão de seleção ativado por padrão;
56      int conf = JOptionPane.showOptionDialog(null, null, "CONFIRMA EDIÇÃO?", JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[1]);
57    //Cria variável tipo int com configuração de janela de diálogo de confirmação de edição;
58      if(conf == JOptionPane.YES_OPTION){
59     //Condicional: se a opção for SIM na confirmação...
60     Cliente c = this.montaCliente();
61     //Chama o método montaCliente para pegar os dados e gravar no objeto Cliente c;
62     ClienteCT cbc = new ClienteCT();
63     //Instancia a classe de controle ClienteCT;
64     cbc.update(c);
65     //Chama o método update da classe ClienteCT para atualizar dados do objeto Cliente (c) de montaCliente no banco;
66     this.limpaTela();
67     //Limpa os campos após atualizar os dados do banco;
68     this.carregaLista();
69     //Carrega a lista do combobox, atualizando após edição;
70    }
71   }
72  }
Confira no phpMyAdmin a gravação no banco:

phpMyAdmin


Escreva nos comentários, clique em curtir, visite a página do Facebook  e compartilhe com seus amigos. Até a próxima!

domingo, 23 de abril de 2017

Java Desktop, Cadastro CRUD - 5: JFrame

Eclipse
Nesta parte elaboramos a janela do sistema, com a classe JFrame.

sábado, 15 de abril de 2017

Java Desktop, Cadastro CRUD - 4: Classe DAO



Vejamos nesta parte as rotinas de código que fazem o CRUD, inserindo, lendo, atualizando e deletando dados do banco. Para isso, criamos uma classe no pacote dao, ClienteDAO, funcionando os objetos de acesso a dados, significado da sigla DAO (Data Access Object).

sábado, 8 de abril de 2017

Java Desktop, Cadastro CRUD - 3: BD



Continuando o projeto, vamos ver a criação da base de dados, usando o XAMPP.

A instalação do XAMPP no Windows é simples: Next - Next - Finish (Próximo - Próximo - Concluído); XAMPP pode ser baixado neste link.

Se no seu caso for o Linux, recomendo acompanhar o passo a passo (para Ubuntu) neste link.

Depois é preciso abrir o Xampp Control Panel. Digite na pesquisa (usuários do Windows Vista em diante):

sábado, 1 de abril de 2017

Java Desktop, Cadastro CRUD - 2: MVC


Nesta segunda parte vamos criar e organizar o projeto em pacotes, criar a classe bean e classes auxiliares. Confira a Parte 1 neste link.

O projeto funcionará no padrão de arquitetura MVC (Model-View-Controler). Veja mais detalhes sobre este padrão neste link.

sábado, 25 de março de 2017

Java Desktop, Cadastro CRUD - 1: IDE

Esta é a primeira de uma série de publicações, onde compartilharei um projeto de cadastro de clientes na linguagem Java, voltada para Desktop.

A ideia é auxiliar aqueles que já possuem uma base de Lógica de Programação, Orientação a Objetos (OO) e Padrões de Projetos (Patterns).

Recomendo acompanhar a série de vídeos do canal Java Completo no YouTube, que serviu de base para este projeto.

Nesta primeira parte veremos como ficará o sistema, que irá cadastrar, ler, atualizar e deletar - que é o CRUD (Create, Read, Update e Delete) no banco de dados MySQL, usando o XAMPP. Em seguida, como configurar a IDE - Eclipse com o editor Windowbuilder.

sábado, 18 de março de 2017

Mudando a senha do Facebook pelo smartphone

Hoje boa parte das pessoas acessam as redes sociais principalmente através do Smartphone, ou até somente pelo aparelho, ou seja, não acessa através de computador desktop (de mesa) ou notebook.


Facebook
1-Segurança - Facebook

Pela praticidade, o costume é deixar os dados de acesso (e-mail e senha) salvos. de forma que não é preciso digitar sempre que abrir o aplicativo. Porém, da mesma forma que facilita para você, facilita também para terceiros em caso de perda ou roubo.

A alteração da senha pode ser um procedimento fácil para muitos, porém há pessoas que pedem ajuda, uma vez que é um recurso que não tem acesso por atalho no aplicativo. É necessário percorrer um caminho, 5 passos.


Aplicativo Android
2-Configurações Facebook

Como indicado pelas setas na imagem acima, selecione as linhas no canto direito e em seguida, Configurações.


Aplicativo Android
3-Configurações de conta

Segundo passo, selecionar Configurações da conta.


Aplicativo Android
4-Configurações de conta - Geral

Em Configurações da conta, escolha a primeira opção, Geral.


Aplicativo Android
5-Opção Senha
Opção Senha - quarto passo...


Aplicativo Android
6-Alterando a senha
Finalmente, altere a senha do seu Facebook. É necessário digitar a senha atual, digitar a nova e depois confirmar no campo Digite novamente a senha. Selecione Alterar senha para salvar.

Confira mais dicas de Facebook:
Como salvar vídeos do Facebook no seu Computador ou Smartphone
5 recursos para aproveitar melhor o Facebook

Escreva nos comentários, clique em curtir, visite a página do Facebook  e compartilhe com seus amigos. Até a próxima!

sábado, 11 de março de 2017

6 recursos de edição de vídeo com o Kadenlive

Para os usuários do Linux que estejam procurando um bom editor de vídeo, o Kadenlive é uma excelente opção, com recursos de edição profissionais.


Editor de video Kdenlive
1-Tela do Kdenlive (clique para ampliar)

Kdenlive é um abreviação de KDE Non-Linear Video Editor (Editor de Vídeo Não Linear KDE). KDE - Kool Desktop Environment - foi um projeto onde se desenvolveu a interface gráfica do Linux, como pode ser visto no site oficial brasileiro. Foi desenvolvido primeiramente para a plataforma GNU/Linux, porém também funciona em BSD e MacOS. Atualmente o programa está sendo adaptado para Windows em um projeto GSOC (Google Summer of Code - Verão do Código do Google - projeto para incentivar estudantes de todo o mundo a desenvolver softwares livres. Veja mais a respeito neste link).

Editores não lineares são muito mais poderosos que os lineares, devido a este precisar de um pouco mais de organização ante se começar. No entanto, o editor não é reservado para especialistas e pode ser usado em pequenos projetos pessoais.

Através do framework MLT, o editor integra diversos plugins de efeitos para criar e processar sons e vídeos. Trás ainda uma poderosa ferramenta de titulação, uma solução de autoração de DVDs (menus), e pode ser usado como um estúdio completo de criação de vídeo.

(Descrição do programa traduzido do site oficial, https://kdenlive.org/about/)


INSTALANDO


A instalação pode ser feita pela Central de Programas do Ubuntu ou no Terminal, se preferir.


Ubuntu central de programas
2-Central de programas do Ubuntu

Na imagem o ícone é do Ubuntu versão 14.04.



Kdenlive na central de programas
3-Kdenlive na central de programas (clique para ampliar)

Digitando o nome do programa no campo de busca da Central, clique em instalar e aguarde. (na imagem 3 aparece remover pois o programa já está instalado). Ao término da instalação aparecerá o ícone para rodar o programa no lançador.


Icone Kadenlive
4-Icone Kadenlive

Pelo terminal, a instalação é feita com o comando:

sudo apt-get install kdenlive

Caso o programa não esteja no repositório, adicione com o comando:

sudo add-apt-repository ppa:kdenlive/kdenlive-stable

E depois atualize o depositório:

sudo apt-get update


Nesta publicação veremos como fazer 6 edições básicas: 1-Separar som do vídeo; 2-Acrescentar som; 3-Excluir som; 4-Extrair somente o som; 5-Cortar vídeo; 6-Efeito Fade;


ADICIONANDO VIDEOS/CLIPES AO PROJETO


Para abrir um vídeo para edição tem duas formas: através do menu Projeto e a primeira opção, Adicionar Clipe:


Kdenlive Menu Projeto
5-Adicionando clipe pelo menu

E com o botão direito do mouse na área em branco abaixo de Clipe e Descrição, conforme imagem abaixo:


Kdenlive Adicionando pelo mouse
6-Adionando clipe com o mouse

Navegue nas pastas do seu PC onde se encontra o vídeo que deseja editar:



Kdenlive
7-Escolhendo arquivo de vídeo

Por fim, arraste o clipe para a primeira trilha de vídeo:


Kdenlive
8-Arrastando para a trilha de vídeo

1-SEPARAR SOM DO VÍDEO

Este recurso é muito útil para fazer um tratamento no som original do vídeo, o que pode ser feito com o Audacity. Aqui no blog você pode conferir como editar som nesta publicação

Pode também colocar outro som, música de fundo, etc.

Com o cursor do mouse sobre a trilha de vídeo, pressione o botão direito e selecione Dividir áudio:


Kdenlive
9-Separar/Dividir áudio

Note que a trilha de som fica agora separada na posição Audio 1:


Kdenlive
10-Som dividido
Apesar da trilha de som estar separada visualmente, ela ainda está agrupada ao vídeo.

Para poder manipular o som independente do vídeo é necessário Desagrupar, também pressionando o botão direito do mouse com o curso sobre a seleção:


Kdenlive
11-Desagrupar clipe

Enfim o som do vídeo está separado
:


Kdenlive
12-Trilha de som independente do vídeo


2-ACRESCENTAR SOM

Para acrescentar som você faz da mesma forma que adicionar um vídeo, através do menu Projeto ou com o botão direito do mouse na área de Clipes. O arquivo ficará logo abaixo do arquivo de vídeo:


Kdenlive
13-Acrescentando som
Arraste para a posição Audio 2:




Kdenlive
14-Som adicionado ao projeto

Caso a idéia seja acrescentar música de fundo, é importante que esta música esteja com o volume reduzido para não cobrir o som original.


3-EXCLUIR SOM

Após fazer a separação do som como indicado acima, para excluir basta selecionar a trilha de som (como na imagem 12, após desagrupar clipe) e pressionar Delete, ficando então apenas a trilha de vídeo:


Kdenlive
15-Trilha de som excluída

4-EXTRAIR SOM

Para extrair o som do vídeo em um arquivo, vá no menu Projeto e escolha a opção Renderizar:


Kdenlive
16-Renderizar projeto

Surgirá a seguinte janela onde, por padrão, está configurada para renderizar todo o projeto, ou seja, o vídeo completo.


Kdenlive
17-Janela de renderização
 Altere em Destino para a opção Somente áudio:


Kdenlive
18-Opção somente áudio
O Kdenlive só dá a opção de extrair o áudio em formato Wav. Porém, você pode usar um programa de edição de som ou um conversor para alterar o formato, como o Audacity, como já indiquei uma publicação neste blog. A opção selecionada na imagem abaixo é qualidade de CD, enquanto a última é qualidade padrão de áudio de DVD:


Kdenlive
19-Renderizando somente audio


Escolha enfim onde em sua máquina você deseja salvar na opção abaixo, Arquivo de saída.

5-CORTAR VÍDEO

Cortar o vídeo é bastante simples: escolha o ponto do vídeo onde quer fazer o corte, com a linha vertical preta na seleção, pressione o botão direito do mouse sobre a trilha de vídeo ou áudio e escolha a opção Cortar Clipe.


Kdenlive
20-Corte de video

Após o corte você pode arrastar as divisões, excluir etc.


Kdenlive
21-Vídeo cortado

6-EFEITO FADE

O efeito fade dá um melhor acabamento ao projeto. Com o fade você suaviza o início e o final do vídeo, fazendo a imagem surgir gradativamente a partir da tela preta no começo e ir apagando até final; o som aumentar desde o mudo até o volume normal no começo e reduzindo até o mudo no final.

No Kdenlive você tem a opção Fade a partir do preto (para o começo do vídeo); Fade para o preto (para o final); Fade in (começo do som); Fade out (final do som); 


Kdenlive
22-Fade a partir do preto
Como na imagem 22 acima, os efeitos Fade são acessados também com o botão direito do mouse sobre a seleção da trilha do vídeo e som, Adicionar efeito e Fade.

Na opção selecionada, Fade a partir do preto, fará a alteração na trilha como na próxima imagem:


Kdenlive
23-Efeito Fade a partir do preto


Confira no preview:


Kdenlive
24-Preview com efeito Fade
A opção Fade in suaviza o início do som:

Kdenlive
25-Fade in
Fade para o preto (note a linha vertical ao final do vídeo e a tela escura no preview:

Kdenlive
26-Fade para o preto
O Fade out altera o final da trilha de som:

Kdenlive
27-Fade out

Detalhe na trilha:

Kdenlive
28-Fade out na trilha de áudio
Lembrando que com as teclas de atalho CTRL+Z você desfaz qualquer alteração. 

Para salvar depois de ter feito todas as edições desejadas, da mesma forma que mostrado anteriormente para extrair áudio, vá ao menu Projeto, opção Renderizar, como na imagem 16, deixando a opção padrão na janela:

Kdenlive
29-Renderizar projeto completo
O formato mais usado é o MPEG-4, o que eu sempre uso e com ótimo resultado final. Porém você pode escolher na lista de acordo com sua preferência.

Escreva nos comentários, clique em curtir, visite a página do Facebook  e compartilhe com seus amigos. Até a próxima!

 
Powered by Blogger