NullPointerException
s - исключения, возникающие при попытке использовать ссылку, которая указывает на отсутствие местоположения в памяти (null), как если бы она ссылалась на объект. Вызов метода по нулевой ссылке или попытка получить доступ к полю нулевой ссылки вызовет функцию NullPointerException
. Они наиболее распространены, но другие способы перечислены на странице NullPointerException
javadoc.
Вероятно, самый быстрый пример кода, который я мог бы придумать для иллюстрации NullPointerException
, be:
public class Example {
public static void main(String[] args) {
Object obj = null;
obj.hashCode();
}
}
В первой строке внутри main
я явно устанавливаю ссылку Object
obj
равной null
. Это означает, что у меня есть ссылка, но она не указывает на какой-либо объект. После этого я пытаюсь обработать ссылку так, как если бы она указывала на объект, вызывая метод на нем. Это приводит к NullPointerException
, потому что нет кода для выполнения в местоположении, на которое указывает ссылка.
(Это техничность, но я думаю, что она упоминает: ссылка, которая указывает на null, равна 't то же, что и указатель C, указывающий на недопустимую ячейку памяти. Нулевой указатель буквально не указывает на в любом месте , который отличается от указаний на местоположение, которое оказывается недопустимым.)
Предположение, что Вы говорите о Windows, существует по существу три способа сделать это.
первое должно открыть основной вывод аудиоустройства как источник записи. Это только возможно, когда драйвер поддерживает его, хотя большинство делает в эти дни. Общие названия для виртуального устройства, "Что Вы Слышите" или "Волна". Необходимо будет использовать подходящий API (см. WaveIn или DirectSound в MSDN) сделать получение.
второй путь состоит в том, чтобы записать драйвер фильтра, который может прервать аудиопоток, прежде чем это достигнет физического устройства. Снова, эта техника будет только работать на устройства, которые имеют подходящую топологию драйвера, и это, конечно, не для малодушного.
Это означает, что ни одна из этих опций, как не будут гарантировать, будет работать над ПК с произвольными аппаратными средствами.
последняя альтернатива должна использовать виртуальное аудиоустройство, такой как Виртуальный Аудиокабель . Если это устройство будет установлено как defualt устройство воспроизведения в Windows тогда, то все приложения хорошего поведения проиграют его. Можно тогда записать от того же устройства для получения суммированного вывода. Пока Вы управляете устройством, что приложение, Вы хотите записать использование тогда эта опция, будет всегда работать.
Все эти методы имеют их за и против - Вам решать, который наиболее подошел бы для Ваших потребностей.
При использовании OSX , Аудио Налет Pro от Rogue Amoeba , вероятно, является самым легким способом пойти.
Так или иначе, почему не только цикличное выполнение Ваше аудио назад в Вашу строку в и запись это? Это очень простое решение. Просто включите кабель в своем разъеме аудиовыхода и своей строке в разъеме и запустите recordung.
AttributeError: multipart_yielder instance has no attribute '__len__'
удивление, если у кого-либо еще есть этот prob.
– Andy
17 February 2011 в 14:00
Можно использовать Аудиоинтерфейс Формы сигнала, существует статья MSDN о том, как получить доступ к нему на PInvoke.
для получения звука, который играется, просто необходимо открыть устройство воспроизведения вместо микрофона. Открытый для входа, конечно, не для вывода;-)
Необходимо включить устройство stero соединение. если Вы делаете это, прямая звуковая находка это устройство.
poster.streaminghttp.register_openers()
– Piotr Dobrogost
7 April 2011 в 09:06