Что такое под cast
Подкаст – что это такое?
В интернете нередко можно услышать слово «подкаст», но что оно означает, зачем нужен подкаст и как им пользоваться? В данной статье разберёмся, что такое подкаст и подкастинг, говоря простыми словами.
Для начала разберёмся с тем, что такое подкастинг. Podcasting образовано от двух слов – iPod (портативный медиапроигрыватель от компании Apple) и broadcasting (повсеместное вещание). Подкастинг – это процесс создания и распространения аудио- и видеофайлов в стиле радио- и телепередач соответственно в сети Интернет. Говоря простыми словами, подкастинг – это вещание в интернете. Сам продукт, который получается в результате подкастинга и называется подкастом. Подкасты делаются на определённую тему и, как правило, имеют периодичность издания, например, раз в неделю. Впервые термин был использован в 2004 году, тогда же появился и первый подкаст.
Говоря простыми словами, подкаст – это отдельный аудио- или видеофайл, либо серия таких файлов, публикуемых в интернете на определённом сайте с возможностью подписки. Важно понимать, что основа подкаста – это именно аудио, даже если он выложен в формате видео. Видеоряд может представлять из себя съёмку с одной камеры всех участников подкаста или даже не связанное с темой подкаста видео. Если подкаст идёт в прямом эфире, а видео демонстрирует участников, то это можно назвать стримом.
Человек, который занимается подкастингом называется подкастером. Он записывает свои подкасты и загружает их на подкаст-терминал, то есть сайт, который поддерживает загрузку, хранение и воспроизведение аудио- и видеофайлов, а также имеет функцию подписки на определённого подкастера.
Как происходит создание подкаста?
Заниматься подкастами не так уж и просто, так как нужно иметь хорошо поставленную речь, чётко излагать свои мысли и быть (или стать) известным медийным лицом, то есть набрать аудиторию для своих подкастов.
В 2020 году на основе идеи подкастов была реализована новая социальная сеть — Clubhouse. Подробнее о ней Вы можете прочитать здесь. До России она добралась только в феврале 2021 года, и уже завоевала… нет, не популярность, пока лишь спрос. Дело в том, что для регистрации в социальной сети нужен инвайт, то есть приглашение от другого, уже действующего пользователя. Помимо этого, на середину февраля приложение доступно только для iOS, а для Android находится в разработке.
Еще раз про приведение типов в языке С++ или расстановка всех точек над cast
Этот пост попытка кратко оформить все, что я читал или слышал из разных источников про операторы приведения типов в языке C++. Информация ориентирована в основном на тех, кто изучает C++ относительно недолго и, как мне кажется, должна помочь понять cпецифику применения данных операторов. Старожилы и гуру С++ возможно помогут дополнить или скорректировать описанную мной картину. Всех интересующихся приглашаю под кат.
Приведение типов в стиле языка C (C-style cast)
Приведение типов в стиле языка C может привести выражение любого типа к любому другому типу данных (исключение это приведение пользовательских типов по значению, если не определены правила их приведения, а также приведение вещественного типа к указателю или наоборот). К примеру, unsigned int может быть преобразован к указателю на double. Данный метод приведения типов может быть использован в языке C++. Однако, метод приведения типов в стиле языка C не делает проверки типов на совместимость, как это могут сделать static_cast и dynamic_cast на этапе компиляции и на этапе выполнения соответственно. При этом все, что умеют const_cast и reinterpret_cast данный метод приведения типов делать может.
Общий вид приведения:
, где new_type – новый тип, к которому приводим, а exp – выражение, которое приводится к новому типу.
Т.к. данный оператор не имеет зарезервированного ключевого слова (например, static_cast) найти все места приведения типов в тексте программы будет не очень удобно, если это потребуется.
const_cast
Оператор приведения const_cast удаляет или добавляет квалификаторы const и volatile с исходного типа данных (простые типы, пользовательские типы, указатели, ссылки). Например, был const int, а после преобразования стал int или наоборот. Квалификаторы const и volatile называют cv-квалификаторы (cv-qualifiers). Данные квалификаторы указываются перед именами типов. Как ни трудно догадаться квалификатор const задает константность, т.е. защищает переменную от изменения. Квалификатор volatile говорит о том, что значение переменной может меняться без явного выполнения присваивания. Это обеспечивает защиту от оптимизации компилятором операций с данной переменной.
Общий вид приведения:
Дополнительный пример от пользователя 5nw
Квалификаторы const и volatile можно удалить или добавить только с помощью оператора приведения const_cast и приведения типов в стиле языка C. Другие операторы приведения типов не влияют на квалификаторы const и volatile (reinterpret_cast, static_cast, dynamic_cast).
reinterpret_cast
Оператор приведения reinterpret_cast используется для приведения несовместимых типов. Может приводить целое число к указателю, указатель к целому числу, указатель к указателю (это же касается и ссылок). Является функционально усеченным аналогом приведения типов в стиле языка С. Отличие состоит в том, что reinterpret_cast не может снимать квалификаторы const и volatile, а также не может делать небезопасное приведение типов не через указатели, а напрямую по значению. Например, переменную типа int к переменной типа double привести при помощи reinterpret_cast нельзя.
Общий вид приведения:
static_cast
Оператор приведения static_cast применяется для неполиморфного приведения типов на этапе компиляции программы. Отличие static_cast от приведения типов в стиле языка C состоит в том, что данный оператор приведения может отслеживать недопустимые преобразования, такие как приведение указателя к значению или наоборот (unsigned int к указателю на double не приведет), а также приведение указателей и ссылок разных типов считается корректным только, если это приведение вверх или вниз по одной иерархии наследования классов, либо это указатель на void. В случае фиксации отклонения от данных ограничений будет выдана ошибка при компиляции программы. При множественном наследовании static_cast может вернуть указатель не на исходный объект, а на его подобъект.
Общий вид приведения:
dynamic_cast
Оператор приведения dynamic_cast применяется для полиморфного приведения типов на этапе выполнения программы (класс считается полиморфным, если в нем есть хотя бы одна виртуальная функция). Если указатель, подлежащий приведению, ссылается на объект результирующего класса или объект класса производный от результирующего то приведение считается успешным. То же самое для ссылок. Если приведение невозможно, то на этапе выполнения программы будет возвращен NULL, если приводятся указатели. Если приведение производится над ссылками, то будет сгенерировано исключение std::bad_cast. Несмотря на то, что dynamic_cast предназначен для приведения полиморфных типов по иерархии наследования, он может быть использован и для обычных неполиморфных типов вверх по иерархии. В этом случае ошибка будет получена на этапе компиляции. Оператор приведения dynamic_cast может приводить указатель на полиморфный тип к указателю на void, но не может приводить указатель на void к другому типу. Способность dynamic_cast приводить полиморфные типы обеспечивается системой RTTI (Run-Time Type Identification), которая позволяет идентифицировать тип объекта в процессе выполнения программы. При множественном наследовании dynamic_cast может вернуть указатель не на исходный объект, а на его подобъект.
Google Cast на телевизоре с Android TV. Что это, как настроить и как пользоваться?
Забегая наперед, скажу, что Google Cast это одна из функций моего телевизора Philips 43PUS7150/12, которой я действительно пользуюсь, и пользуюсь часто. Сейчас я расскажу что это за технология, какие у нее возможности, и как я пользуюсь Google Cast на своем телевизоре с Android TV.
Что такое Google Cast и Chromecast?
Google Cast – это технология которая позволяет передавать на телевизор изображение, видео, или музыку, со смартфона, планшета, или ноутбука. Все это без проводов. Все что нужно, это устройство с поддержкой Google Cast, с которого будем передавать контент, телевизор с Android TV, или любой другой телевизор с подключенным Chromecast адаптером, и домашняя Wi-Fi сеть, к которой должны быть подключены эти устройства.
Возможности Google Cast:
Как пользоваться Google Cast на телевизорах с Android TV?
На самом деле, все очень просто и понятно. У нас должен быть телевизор с Android TV, на который мы будем выводить изображение и звук. У нас должно быть устройство, с которого мы будем транслировать фото, видео, музыку. Подходят все смартфоны и планшеты на Android, версии 2.3 и выше. Устройства от Apple: iPhone, iPad и iPod Touch, которые работают на iOS версии 7.0 и выше. Ноутбук, или компьютер с установленным браузером Chrome.
Я уже писал как подключить к Wi-Fi телевизор Philips. А ваши смартфоны, планшеты и ноутбуки, я думаю к Wi-Fi сети уже подключены.
На телевизоре настраивать вообще ничего не нужно. Он должен быть просто включен и подключен к вашей Wi-Fi сети. Управлять мы будем с нашего смартфона, планшета, или компьютера. Поехали!
Трансляция видео с YouTube на телевизор по Google Cast
Это та возможность, которой я пользуюсь практически каждый день. Я транслирую видео со своего iPad, на экран телевизора Philips. работает все очень просто. Берем наш смартфон, или планшет, который работает на Android, или iOS, и запускаем на нем приложение YouTube.
Включаем любой ролик, и сверху нажимаем на кнопку Google Cast. Появится ваш телевизор, выбираем его.
Воспроизведение видео начнется на телевизоре. Кнопка Google Cast станет синей. Если нажать на нее еще раз, то можно будет отключится от телевизора.
С Android смартфона все так же работает.
Еще одна интересная фишка, можно создавать список воспроизведения. Когда устройство подключено к телевизору, просто нажмите на любое видео, и появится окно с выбором: либо воспроизвести сейчас, либо добавить в очередь на воспроизведение. Очень удобно. Все просто и понятно, разобраться совсем не сложно.
Выводим на телевизор все, что происходит на экране смартфона, или планшета
Мы можем вывести на телевизор абсолютно все, что происходит на экране мобильного устройства. На телевизоре будет отображаться меню, программы, игры и т. д. Все, что мы видим на экране смартфона. Примерно так же работает технология Miracast.
Результат выглядит вот так:
А вот так выглядят программы с Android смартфона на телевизоре:
И даже игры можно выводить на телевизор по Google Cast.
Игры немного глючили. Изображение появлялось с задержкой. Возможно, если подключить более мощный смартфон, то все работало бы лучше. Но даже минимальная задержка все ровно будет.
На телефоне (Android) все работает как часы. А вот вывести экран с iPad у меня почему-то не получилось. Он просто не находил телевизор, и все время просил подключится к сети, в которой есть Chromecast устройство. Хотя, все было подключено, и трансляция видео в YouTube работала.
Транслируем изображение (вкладки) с браузера Chrome на телевизор
Неактуально: Все что нужно, это установить браузер Google Chrome, и в браузере установить расширение «Google Cast». Для установки откройте настройки браузера, перейдите на вкладку Расширения, нажмите на ссылку «Еще расширения», в поиске введите «Google Cast» и установите расширение. В браузере появится кнопка, нажав на которую, можно запустить трансляцию вкладки на телевизор.
Обновление: как оказалось, расширения «Google Cast» больше нет. Функция трансляции теперь встроенная в браузер. Откройте меню и выберите «Трансляция. » Если такого пункта у вас нет, то обновите свой браузер Google Chrome.
Для начала трансляции просто выбираем свой телевизор.
На телевизоре сразу появится изображение с ноутбука. Все работает стабильно и быстро.
Теперь вы сможете запускать трансляцию из браузера на телевизор еще быстрее.
Заключение
Я рассказал вам об основных возможностях Google Cast, которыми пользуюсь сам. Можно так же воспроизводить музыку со смартфона, через динамики телевизора. Сделать это можно через приложение Google Play Музыка. Или транслировать фото с галереи. Просо нажимаем на кнопку «Google Cast» и выводим изображение на телевизор.
Если у вас телевизор на Android TV, или есть адаптер Chromecast, то обязательно воспользуйтесь всеми возможностями этой технологии. Напишите в комментариях, как вы используете Google Cast. Всего хорошего!
Приведение типов. Наглядное отличие static_cast от dynamic_cast
Доброго времени суток. Очень много статей в интернете о разнице операторов приведения типов, но понимания в данной теме они мне не особо то и не добавили. Пришлось разбираться самому. Хочу поделиться с вами моим опытом на довольно наглядном примере.
Статья рассчитана на тех, кто хочет осознать приведение типов в С++.
Итак, пусть у нас есть такая иерархия наследования:
На картинке изображена иерархия наследования и расположение членов-данных наследников в памяти
Небольшое отступление: почему так важно преобразование типов? Говоря по рабоче-крестьянски, при присваивании объекту типа X объект типа Y, мы должны определить, какое значение будет иметь после присваивания объект типа X.
Начнем с использования static_cast:
Почему таков эффект при выводе значений указателей (значение указателя это адрес, по которому лежит переменная)? Дело в том, что static_cast производит сдвиг указателя.
Рассмотрим на примере:
1. Происходит преобразование типа из C* в D*. Результатом этого есть указатель типа D* (назовем его tempD), который указывает (внимание!) на ту часть в объекте класса C, которая унаследована от класса D. Значение самого pC не меняется!
2. Теперь присваиваем указателю pD значение указателя tempD (всё хорошо, типы одинаковы)
Разумный вопрос: а зачем собственно нужно сдвигать указатель? Говоря по простому, указатель класса D* руководствуется определением класса D. Если бы не произошло смещения, то меняя значения переменных через указатель D, мы бы меняли переменные объекта класса С, которые не относятся к переменным, унаследованным от класса D (если бы указатель pD имел то же значение, что и pC, то при обращении pD->f в действительности мы бы работали с переменной
а).
Промежуточный итог: static_cast при работе с иерархией классов определяет значения указателей так, чтобы обращение к переменным класса через указатель было корректным.
Поговорим о недостатках static_cast. Вернемся к той же иерархии наследования.
Рассмотрим такой код:
Почему pC->f имеет значение отличное от 0? Рассмотрим код по строчкам:
Теперь если мы хотим сделать запись в переменную g через указатель pB (ведь pB полностью уверен что указывает на объект типа B), мы на самом деле запишем данные в переменную f, унаследованную от класса D. Причем указатель pD будет интерпретировать информацию, записанную в переменную f, как float, что мы и видим при выводе через cout.
Как решить такую проблему?
Для этого следует использовать dynamic_cast, который проверяет не только валидность иерархии классов, но и тот факт, что указатель действительно указывает на объект того типа, к которому мы хотим привести.
Для того, чтобы такая проверка была возможна, следует добавить к классам виртуальность (dynamic_cast использует таблицы виртуальных функций, чтобы делать проверку).
Демонстрация решения проблемы, при той же иерархии классов:
Предлагаю запустить код и убедиться, что операция
не получится (потому что pA указывает на объект типа С, что и проверил dynamic_cast и вынес свой вердикт).
Ссылок никаких не привожу, источник — личный опыт.
Pocket Casts против Castbox: какое приложение подкаста вы должны использовать 2021
Pocket Cast Hands On & My Favorite Podcast
Стоит отметить, что новый дизайн Pocket Casts все еще находится в бета-версии, и разработчики выпустили еще одно обновление, в котором исправлены некоторые из этих нюансов, которые мы подробно обсудим позже.
Скачать Pocket Cast на Android
Скачать Pocket Cast на iOS
Тем временем Castbox пользуется моделью freemium, которая облегчает пользователям тестирование воды, предлагая такие функции, как модель дохода на основе цепочки блоков для создателей.
Скачать Castbox на Android
Скачать Castbox на iOS
1. Пользовательский интерфейс и удобство использования
Мне нравится новый дизайн, который организует все на вкладках. Существует один для всех ваших подписанных подкастов, Фильтры, где вы можете обнаружить новые эпизоды и те, которые в процессе. Вкладка поиска, чтобы найти новые интересные подкасты и профиль для статистики и настроек.
На вкладках «Обнаружение» и «Библиотека» есть несколько дополнительных параметров. Это категории, в которых можно найти нишу подкастов и аудиокниги, где вы найдете в основном классику.
Pocket Casts также предлагает категории на вкладке Discovery. Просто прокрутите немного, чтобы найти его.
Оба приложения хорошо разработаны, но мне больше нравится Castbox. Pocket Casts имеет красивый интерфейс, но последний более функциональный. Категории доступны без прокрутки, а библиотека позволяет легко переключаться между избранным, новыми эпизодами, списками воспроизведения и загрузками.
Также на
10 лучших подкаст-приложений для Android
2. Найти и управлять подкастами
В Pocket Casts на вкладке Discovery вы можете изменить местоположение, чтобы найти более подходящие подкасты. Это установлено в США по умолчанию. Castbox попросит вас выбрать свое местоположение при первом входе в систему. Конечно, вы можете изменить его позже.
Как упоминалось ранее, вы можете найти подкасты по сети и категориям в обоих приложениях подкастов.
Помимо этого, оба приложения поставляются со списками подкастов, таких как тренды, топовые подкасты, выбор редактора и так далее. Это больше личного выбора в зависимости от ваших предпочтений.
3. Опыт прослушивания
Pocket Casts позволяет легко подписаться на лучшие выборы, предлагая знак «+». Castbox предлагает кнопку быстрой подписки только тогда, когда вы выбираете категорию. Ну, Pocket Casts делает то же самое.
Pocket Casts потеряли много пользователей, опубликовавших мартовское обновление. Одной из распространенных жалоб была функция архивирования. После завершения подкаста он не выделяется серым цветом, а архивируется и удаляется из списка. Это создало путаницу, после которой, майское обновление предложило путь либо к архиву, либо к отметке как сыгранной. Нажмите на эпизод Подкаст, чтобы найти эту опцию.
Обновления решили эту проблему. Вы можете пометить эпизод как проигранный, чтобы выделить его серым, или использовать функцию архива, чтобы удалить его из списка. Вы можете решить, хотите ли вы показывать архивированные эпизоды или нет отдельно. Это помогает пользователям, которые хотят различать эпизоды, которые они прослушали (пометить как сыгранные), и эпизоды, которые они просто пропустили (заархивировали). Честно говоря, я думаю, что эта система лучше с новым обновлением.
Castbox предлагает еще больше способов настроить ваш опыт подкаста. Вы можете выбрать количество эпизодов для загрузки (по умолчанию 3) вместо того, чтобы просто загружать следующий эпизод, как в Pocket Casts. Это может быть индивидуально для каждого шоу.
Существует интеграция с Waze для пользователей, которые слушают подкасты за рулем. Вы можете приостановить подкаст, когда будут объявлены уведомления из других приложений во время вождения, или использовать элементы управления автомобилем для управления эпизодами подкаста. Оба приложения поддерживают Google Home и Assistant, а также Alexa.
Оба приложения подкастов позволяют пользователям переходить вперед и назад, устанавливать таймер отключения и сохранять подкасты в списке избранных. Однако Pocket Casts также позволяет быстро прослушивать, увеличивать громкость, когда вы находитесь на улице, и обрезать части подкастов, где никто не говорит.
Хотя вы можете пометить любой эпизод в качестве избранного в Pocket Casts, Castbox позволяет создавать несколько списков воспроизведения для лучшей сортировки избранных эпизодов. В Pocket Casts эта функция называется «Фильтры».
Также на
4 лучших кроссплатформенных приложения для подкастов
4. Социальный фактор
Как узнать, на какие подкасты подписаться? Где вы говорите о том последнем эпизоде, который заставил вас задуматься? Castbox поставляется с системой комментариев, где пользователи могут участвовать в обсуждениях для каждого вашего подписанного подкаста.
Затем есть вкладка Сообщество, где вы можете следить за людьми, взаимодействовать с ними, используя комментарии, например их комментарии, и использовать хэштеги, чтобы привнести здравый смысл в свой опыт.
5. Для подкастеров
Чтобы помочь создателям заработать деньги, Castbox сотрудничает с решением на основе блокчейна под названием ContentBox. Создатели награждаются в токене ERC-20 от Ethereum под названием BOX.
6. Ценообразование и платформа
Также на
#podcast
Отдай свой голос
Далее: У вас есть Android-смартфон? Вы ищете больше вариантов? Вот 10 приложений подкаста для пользователей Android.
Pixlr против Desygner против Canva: какое веб-приложение дизайна лучше?
В мире веб-приложений редактирование изображений и создание визуального искусства все еще не полностью развиты. Хотя 3 соперника, Pixlr, Desygner и Canva близки.
Календарь Apple против Google Calendar: какое приложение календаря вы должны использовать
Календарь Google является отличной альтернативой, которая может бросить вызов Apple Calender на iPhone. Прочитайте пост ниже, чтобы решить, стоит ли переключаться или нет?